SQL注入:避开过滤

发布于 2022-08-29 19:06:17 字数 434 浏览 12 评论 0

在一本书中,看到关于如何避开过滤,有这么一段话:
如:SELECT被列入黑名单,则attacker想避开过滤的话,可以使用以下输入:
1.SeLect 2.SELSELECTECT 3.%53%45%4c%45%43%54 4.%2553%2545%254c%2545%2543%2554


其中方法1和2容易理解
方法1:利用对大小写敏感来避开过滤
方法2:利用程序replace SELECT的特点
其中,方法3和方法4该如何理解呢?
方法3的话,
payload:?id=1' union %53%45%4c%45%43%54 1,2,3 --+,则在服务端收到的$_GET['id']的值为'1' union SELECT 1,2,3 -- ',此处,并没办法避开SELECT关键字啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云仙小弟 2022-09-05 19:06:17

方法3,4不过是编码,避免就是使用PDO

辞慾 2022-09-05 19:06:17

(3)是对select所有字符编码一次 (4)是对(3)的百分号再编一次

表单传过去的时候,服务器会自动解码一次,所以服务端取得select很正常,也就是说(3)的办法绕不过过滤。(4)的话貌似sql引擎不会自动解码,你可以在自己的workbench上面试一试,应该提示sql语句错误。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文