【问题标题】:Successful SQL Injection despite PHP Magic Quotes尽管 PHP 魔术引号成功 SQL 注入
【发布时间】:2011-02-13 17:05:28
【问题描述】:

我一直读到Magic Quotes 根本不会阻止SQL 注入,但我不明白为什么不这样做!例如,假设我们有以下查询:

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

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

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

Magic Quotes 将添加反斜杠,不会造成任何损害!

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

【问题讨论】:

    标签: mysql sql-injection


    【解决方案1】:

    诀窍通常是传递一个二进制值,以便反斜杠成为有效多字节字符的一部分。这是关于它的blog post

    【讨论】:

    • 我一直认为 SQL 注入是一个更严重的问题,可能会影响几乎所有新手对脚本的尝试。我仍然无法相信魔术引号能让你绝对安全,除非你使用了多字节字符集。
    猜你喜欢
    • 2011-09-15
    • 2010-09-18
    • 1970-01-01
    • 2012-05-20
    • 2011-05-17
    • 2013-11-15
    • 2012-10-16
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多