码迷,mamicode.com
首页 > 其他好文 > 详细

延时注入

时间:2018-03-26 12:27:46      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:class   情况   查询   就是   from   条件   substring   blog   log   

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

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

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"。

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

 

延时注入

标签:class   情况   查询   就是   from   条件   substring   blog   log   

原文地址:https://www.cnblogs.com/wang1212-/p/8649800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!