我已经读了很多书,但仍然不能 100% 理解某些 SQL 注入是如何发生的!
我想从知道的人那里看到基于我的示例的 SQL 注入的具体示例,以便可以复制、测试和修复它。我曾尝试 SQL 注入我的代码但不能,所以我希望有人能证明我不是这样!
1.SQL注入只能通过POST或GET方法发生,这意味着在网站上它应该是post表单,例如“注册或搜索”或像“search.php?tags=love”这样的查询,我说得对吗?
说这可以注入以下具有POST方法的代码吗?
$name = trim($_POST['username']);
$mail = trim($_POST['email']);
$password = trim($_POST['password ']);
if ($errors == "false") {
$sql =
"INSERT INTO
clients
SET
name='" . mysql_real_escape_string($name) . "',
mail='" . mysql_real_escape_string($mail) . "',
password='" . mysql_real_escape_string(sha1($password)) . "'";
$connection->execute($sql);
}
2.另一个有GET方法:rate.php?like&videoID=250&userID=30
$sql =
"SELECT
videoID
FROM
likes
WHERE
videoID = '" .mysql_real_escape_string($videoID). "' AND UID = '" .mysql_real_escape_string($userID). "' LIMIT 1";
$connection->execute($sql);
请帮助那些对这个主题感到自由但使用具体例子的人。
提前致谢,
伊利亚