转自:
lcamry
Less-2
将'(单引号)添加到数字中。

我们又得到了一个Mysql返回的错误,提示我们语法错误。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1′ at line 1
现在执行的查询语句如下:
Select * from TABLE where id = 1' ;
所以这里的奇数个单引号破坏了查询,导致抛出错误。
因此我们得出的结果是,查询代码使用了整数。
Select * from TABLE where id = (some integer value);
现在,从开发者的视角来看,为了对这样的错误采取保护措施,我们可以注释掉剩余的查询:
http://localhost/sqli-labs/Less-2/?id=1–-+

源代码中可以分析到SQL语句为下:
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
对id没有经过处理
可以成功注入的有:
or 1=1
or 1=1 --+
其余的payload与less1中一直,只需要将less1中的 ' 去掉即可。
这里不赘述了。
本文探讨了一种特定的SQL注入攻击案例,在此案例中,攻击者通过向查询中添加额外的单引号来触发语法错误,以此揭示应用程序的安全漏洞。文章还介绍了如何通过修改查询结构来避免此类攻击。
964

被折叠的 条评论
为什么被折叠?



