尽管 PHP Magic Quotes 仍能成功进行 SQL 注入

发布于 2024-08-31 02:12:49 字数 343 浏览 4 评论 0原文

我一直读到 Magic Quotes 根本无法阻止 SQL 注入,但我不明白为什么不!举个例子,假设我们有以下查询:

SELECT * FROM tablename
  WHERE email='$x';

现在,如果用户输入 $x=' OR 1=1 --,则查询将为:

SELECT * FROM tablename
  WHERE email='\' OR 1=1 --';

反斜杠将由 Magic Quotes 添加没有造成任何损坏!

有没有一种方法我看不到用户可以绕过这里的魔术引用插入?

I have always read that Magic Quotes do not stop SQL Injections at all but I am not able to understand why not! As an example, let's say we have the following query:

SELECT * FROM tablename
  WHERE email='$x';

Now, if the user input makes $x=' OR 1=1 --, the query would be:

SELECT * FROM tablename
  WHERE email='\' OR 1=1 --';

The backslash will be added by Magic Quotes with no damage done whatsoever!

Is there a way that I am not seeing where the user can bypass the Magic Quote insertions here?

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

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

发布评论

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

评论(1

泅人 2024-09-07 02:12:49

技巧通常是传递一个二进制值,以便反斜杠成为有效多字节字符的一部分。这是一篇关于它的博客文章

The trick is usually to pass a binary value so that the backslash would become a part of valid multibyte character. Here is a blog post about it.

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