insert注入

insert注入

insert用法

insert在数据库中可以直接插入数据,同时,insert还可以在数据库查询语句中用作字符串替换,例如:

select insert("admin", 1, 1, "");

上述语句查询结果为:

image-20211110082442571

可以看见,insert语句可以将字符串指定位置的指定长度替换为指定字符串,该功能的insert语法为:

INSERT(s1,x,len,s2)

其中的s1为目标字符串,x为替换的起始位置,len为替换的长度,s2为替换的字符串。通过改变len的值,可以获取到不同长度的字符串:

image-20211110084334619

image-20211110084405289

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, "");

其运行结果为:

image-20211109215916734

这样,就可以很好的进行盲注的爆破了,并且insert语句也不易被检测到。

这样,就可以很好的进行盲注的爆破了,并且insert语句也不易被检测到。

猜你喜欢

转载自blog.csdn.net/weixin_46784800/article/details/121241032