在以下查询中是否有可能利用sql注入?
mysql_query("SELECT `one`, `two`, `three` FROM test LIMIT ".$vulnerablepost.",2;") or die(mysql_error());
可能的查询有哪些类型?可以执行SELECT OUTFILE吗? 感谢
答案 0 :(得分:2)
是的。由于输入可以被操纵或调整以注入错误的SQL。如果您的输入值看起来像
,该怎么办?$vulnerablepost = "20;delete from student_table;select 1";
您最终会遇到如下SQL语句,这在语法上是正确的,但会让您遇到麻烦
SELECT `one`, `two`, `three` FROM test LIMIT 20;delete from student_table;select 1,2;
答案 1 :(得分:0)
是的,你不应该使用它。使用PDO或Mysqli。 http://php.net/manual/en/ref.pdo-mysql.php
因此,除非您使用的是非常旧版本的PHP,否则不应使用该功能。您甚至可以查看该页面的文档。 http://php.net/manual/en/function.mysql-query.php
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_query()
PDO::query()