Lesson-4 GET Error based Double quotes-string
GET类型,基于错误回显的双引号字符串注入
还是进入界面
构造?id=1,结果如图所示
构造?id=1',结果如图所示
发现结果还是
和不加单引号时结果一样,没有任何错误信息。
构造?id=1",结果如图所示
很明显是"双引号闭合后还有一个),于是构造?id=0") union select 3, 2, 1 --+,结果如图所示
成功注入。
下面看后台php源代码:
$id = '"' . $id . '"';
$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
发现,当构造?id=1' 时,id为" 1' "。
在MySQL控制台中,执行查询 select * from users where id = " 1' ";
结果如图所示:
发现,在两个双引号中id的值1的右边是可以多出一个单引号的。
那么,左边多出一个单引号情况如何?两边都有双引号情况如何?
左边多一个单引号的情况:
发现并不能查到任何信息。
两边都有多出一个单引号的情况:
同样不能查到任何信息。
那么如果查询的值不是数字,而是字符串情况如何呢?
如图所示:
发现,如果是字符串不管那种情况都查不到任何信息。