sql注入(基础)


视频地址:https://www.youtube.com/watch?v=bLxhiH-Rr6s&list=PLwDQt7s1o9J6vKkkYfcCqBCs0d4gZ3yWB&index=10

今天我们来测试一下这个

源代码长下面这个样子:

mysql常用语句:

show tables;显示用户表
show databases; 显示所有的数据库
desc tablename;显示表的结构
show create table tablenameG显示表的详细结构

下面这个sql语句
select * from users where user=user;
加引号表示这个是一个字符串,不加的话表示是一个字段名

先来第一个最简单的(我们这里查询一个用户):

但是如果我们只是加一个小小的改动(所有的信息都查出来了)

然后我们只需要对那个靶机输入下面这样的代码(就把所有的用户都查出来了)

下面我们来实现查另外一个表

这里我们通过union语句把两个不相干的表的用户名和密码全部查出来了。。。

注意这个union语句两个语句查询的列数必须是一样的(但是我们不知道起那么的sql语句的时候可以通过输入一个或者多个数字来实现)

或者我们不想要前面的语句,我们只要后面那个表的内容

加个where 1=2 前面的就不会显示了

下面我们来介绍一个非常重要的表

这个表里面存储了整个数据库中所有的信息(也叫数据库字典)

我们查询数据库的信息(里面存储了很多表的信息)

比如我们顺便拿一个(前面那个是数据库的名字,后面那个是表的名字)

我们把所有的表都查询一下并分组

select TABLE_SCHEMA,GROUP_CONCAT(TABLE_NAME) from information_schema.TABLES GROUP BY TABLE_SCHEMAG;

我们还有下面一个表(这个表不仅存了数据库的名字,还存了表名以及列的名字)

比如下面这个查询表的名字


文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录