时间盲注小知识

时间盲注是一种隐蔽的SQL注入方式,当页面不回显数据或错误时,通过探测响应时间变化来获取信息。攻击者常利用sleep()或benchmark()函数延长数据库执行时间,并结合if()语句进行条件判断。例如,通过`if(length(database())>1,sleep(5),1)`来判断数据库名长度。时间盲注可用于探测数据库名、表名、字段及数据。防御此类攻击需确保输入验证和参数化查询的使用。
摘要由CSDN通过智能技术生成

时间盲注小知识

1.时间盲注

代码存在sql注入漏洞,然而页面既不会回显数据,也不会回显错误信息,语句执行后也不提示真假,我们不能通过页面的内容来判断。这里我们可以通过构造语句,通过页面响应的时长,来判断信息,这既是时间盲注

2.时问盲注攻击原理

利用sleep()、benchmark()等函数让mysql执行时间变长经常与if(expr1, expr2, expr3)语句结合使用,通过页面的响应时间来判断条件是否正确。
if(expr1,expr2, expr3)含义是如果expr1是 True,则返回expr2,否则返回expr3。

3.时间型盲注特点

通过时间回显的延迟作为判断payload:1’ and sleep(5)——+有延迟则考虑时间盲注。
利用sleep()或benchmark()函数延长 mysql的执行时问
与if()搭配使用

4.时间盲注常用函数

left (m,n)——从左向右截取字符串m返回其前n位
substr(m,1,1)——取字符串m的左边第一位起,1字长的字符串
ascii(m)——返回字符m的ASCII码
if(str1,str2,str3)——如果str1正确就执行str2,否则执行str3
sleep(m)——使程序暂停m秒
length(m)——返回字符串m的长度
count(column_name)——返回指定列的值的数目

5.时间型盲注payload: if(expr1, expr2 , expr3)语义解析

对expr1进行布尔判断,如果为真,则执行expr2,如果为假,则执行expr3常用payload:

If (length(database())>1,sleep(5),1)

如果数据库名字符长度大于1为真,mysql休眠5秒,如果为假则查询1。而查询1的结果,大约只有几十毫秒,根据Burp Suite中页面的响应时间,可以判断条件是否正确。

6.时间盲注攻击实战

判断数据库名的长度
爆库名
爆表名
爆字段
爆数据

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值