代码之家  ›  专栏  ›  技术社区  ›  KJ Saxena

尽管php magic引号,但成功的SQL注入

  •  12
  • KJ Saxena  · 技术社区  · 16 年前

    我一直读到魔法引号根本不停止SQL注入,但我不明白为什么不停止!例如,假设我们有以下查询:

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

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

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

    反斜杠将由魔法引号添加,不会造成任何损坏!

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

    1 回复  |  直到 16 年前
        1
  •  22
  •   newtover    16 年前

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