2018-06-12-双查询注入

1.原理

双查询注入的原理主要有研究人员发现,一些聚合函数后面加上分组函数的时候,会把查询的一部分以错误的形式显现出来。

具体来说应该是主键冲突,比如这个:


2.常用的函数或者语句

A: rand()返回0到1的随机值

B:floor()取整函数,向下取整

C:order by这个不用说吧。。

D:count()汇总函数,聚合函数还有AVG(),max(),min()和sum()。

3.用mysql模拟实例


图一

这里环境是LAMP,搭了sqli-lab环境,然后就是选择security这个数据库。


图二

这里返回结果是数据库名称加上1或者0,可以利用这个语句来判断大概有多少项。这里说一下,如果查询语句中包含子查询语句,往往需要圈起来,如果是直接函数就不用了。

判断如下:


图三

可以用来判断表中有多少项。

然后我们加上order by,如下:


图四

可以按照0,1来分组。

然后再上聚合函数count(*),试下:

图五

暴数据库名字,再来暴版本:


图六

可以看到数据库版本信息暴了。

你可能感兴趣的:(2018-06-12-双查询注入)