【发布时间】:2012-01-10 13:44:34
【问题描述】:
这是对这个问题的后续跟进:Is PHP's addslashes vulnerable to sql injection attack?(感谢所有回复的人)。
同样的场景,但我有这段代码(在另一页):
$ID = $_GET['id'];
$sql = "SELECT * FROM blog WHERE id='$ID'";
$result = mysql_query($sql);
这应该很容易被利用,对吧?
如果我没记错的话,我不能在 mysql_query() 中运行第二个查询,但我应该可以做一些其他恶意的事情,对吧?希望能够将用户插入管理表或更改密码或其他内容,但我认为除了触摸博客表之外我无法做任何事情。那是对的吗?有什么建议可以帮助我解决问题并进行调整以证明存在问题吗?
【问题讨论】:
-
请避免与其他问题无关。
-
@Marco - “mysql_query() 发送一个唯一查询(不支持多个查询)”(来源:php.net/manual/en/function.mysql-query.php)
-
Slideshare 上Advanced SQL Injection 上的一些(93 个!)有趣的幻灯片。
-
这个问题有味道。我们没有证据表明它实际上是安全审计(由完全不了解安全性的人执行)
-
@col - 这就是我在这里问你们的确切原因。我以前没有做过安全审计,虽然我做过网络开发,而且我有一个客户要求我用最佳实践更新他们的网站。他们的要求是我向他们展示一个漏洞。我做了一堆谷歌研究,但无法提出任何可以证明我的观点的东西。你们给了我足够的东西去做我需要做的事情,我很感激。
标签: php mysql sql sql-injection