学习使用,勿违法。
Less-1 GET-Error based -Single quotes(基于错误的GET单引号注入)
url中id参数,可以用工具HackBar来注入,我们用or来尝试看看是否可以注入。 构造payload,我们先大致试一试查询语句。下面两张图就是引号的不同,结果不同,这样我们就可以猜到一些语句。数据是字符型的,传入的参数是被单引号括起来的。limit 0,1是报错时回显中看到的,而且它搜索就限制在回显一条数据。
select * from 表名 where id=‘数据’ limit 0,1;
下方的单引号是为了闭合语句,–+是sql的注释,学过sql语句就比较好理解的。这个尝试是可以大致判断有注入点的。
?id=1’ or 1=1 --+
现在用union联合注入尝试一下。在联合注入时我们要先找出字段数,用order by来找,在为4时出错,那就三个字段。
用联合注入。这里就得到了当前的库名。接下来去获取表名。
我们将单引号去掉,可以发现我们构造的payload没有进行联合查询的。那么我们就大概猜测一下,