延时注入

Posted 呀小王呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了延时注入相关的知识,希望对你有一定的参考价值。

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

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

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

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

 

以上是关于延时注入的主要内容,如果未能解决你的问题,请参考以下文章

关于oracle延时型注入手工注入的思考

Mysql注入 -- 延时注入

sql注入学习笔记4

inject某网站延时注入代码

inject某网站延时注入代码

PyHacker编写指南Sql注入脚本编写