【发布时间】:2011-10-10 17:23:28
【问题描述】:
此处描述的 INSERT 上的 SQL 注入似乎不适用于 MySQL。 SQL injection on INSERT
当我使用这个语句时:
INSERT INTO COMMENTS VALUES('122','$_GET[value1]');
以此作为'value1'变量值:
'); DELETE FROM users; --
返回此错误:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE FROM users; --')' at line 1
怎么了???
PS:有人建议我用这个作为变量值进行 SQL 注入:
',(SELECT group_concat(table_name) FROM information_schema.tables INTO OUTFILE '/var/www/tables.txt'))-- -
但它也不起作用,并返回语法错误。
【问题讨论】:
-
实际查看实际 SQL 的打印输出会很有帮助。不仅仅是你认为的那样。至少,您正在使用的 PHP 代码,因为您所展示的应该可以工作。
-
我试过这个 PHP 代码: 使用此输入:sqlinjectiontest.php?value1=');%20DELETE%20FROM%20users;%20--
-
把它放在你的问题中,而不是在评论中
-
在字符串中使用数组时,需要将表达式包裹在{}中
...'{$_GET[value1]}'...
标签: php mysql sql insert code-injection