延时注入


上网搜了一下什么是延时注入,所谓延时注入主要针对页面无变化,无法用布尔真假判断,无法报错的情况下注入。

学习延时注入,首先要知道这几个函数。

sleep()  //延时

if(condition,ture,fales)   //条件语句

ascii()  //转换成ascii

substring()  substring("string",strart,length)   //mid()也一样从哪开始取几位

例如:

if(ascii(subtring("hello",1,1))=104,sleep(5),1)

可以看到,取出"hello"里的第一个字符串,也就是"h",判断他的ascii码是否为104("h"的ascii码为104),如果是则延时5秒,反之不延时。

同样,我们可以在substring函数里面写SQL语句,提取出我们所要查的表名、列名,再用延时猜解出来。


例如:

if(ascii(substring((SELECT distinct concat(table_name) FROM information_schema.tables where table_schema=database() LIMIT 0,1),1,1))=116,sleep(5),1);


同样的,我们可以嵌入SQL语句带入查询,配合以上函数即可猜出表名第一个字母的ascii码为117,即"u"。

猜解列名也是差不多的用法。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM