尽管PHP魔术引用成功的SQL注入

时间:2010-04-29 08:21:44

标签: mysql sql-injection

我一直都知道Magic Quotes根本不会停止SQL注射,但我无法理解为什么不呢!例如,假设我们有以下查询:

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

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

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

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

有没有办法我没有看到用户可以在哪里绕过Magic Quote插入?

1 个答案:

答案 0 :(得分:22)

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