insert注入
insert用法
insert在数据库中可以直接插入数据,同时,insert还可以在数据库查询语句中用作字符串替换,例如:
select insert("admin", 1, 1, "");
上述语句查询结果为:
可以看见,insert语句可以将字符串指定位置的指定长度替换为指定字符串,该功能的insert语法为:
INSERT(s1,x,len,s2)
其中的s1为目标字符串,x为替换的起始位置,len为替换的长度,s2为替换的字符串。通过改变len的值,可以获取到不同长度的字符串:
insert进行盲注爆破
那么,如果将两个insert套起来,是不是就相当于字符串的分割了呢,在第一个insert得到的字符串在进行一次insert的字符串替换,是不是就相当于字符串分割了,例如,输入语句:
select insert(insert("admin", 1, 0, ""), 2, 99999, "");
select insert(insert("admin", 1, 1, ""), 2, 99999, "");
select insert(insert("admin", 1, 2, ""), 2, 99999, "");
select insert(insert("admin", 1, 3, ""), 2, 99999, "");
其运行结果为:
这样,就可以很好的进行盲注的爆破了,并且insert语句也不易被检测到。
这样,就可以很好的进行盲注的爆破了,并且insert语句也不易被检测到。