Dom*_*oSL 2 php mysql sql database sql-injection
我还在学习SQL注入,但总是最好的方法是使用示例,所以这是我的代码的一部分:
$sql = "INSERT INTO `comments` (`id`, `idpost`, `comment`, `datetime`, `author`, `active`)
VALUES (NULL, '" . addslashes($_POST['idcomment']) . "', '" .
addslashes($_POST['comment']) . "', NOW(), '" .
addslashes($_POST['name']) . "', '1');";
mysql_query($sql);
Run Code Online (Sandbox Code Playgroud)
知道用户输入的所有POST变量,你能告诉我如何注入这个脚本吗?所以我可以更多地了解这个漏洞.谢谢!
我的数据库服务器是MySQL.
不要使用addslashes()
,总是使用mysql_real_escape_string()
.有一些已知的边缘情况,其中addslashes()是不够的.
如果从头开始新的东西,最好使用支持预处理语句(如PDO或mysqli)的数据库包装器.