当我在我的页面上使用acunetix时,我得到了一个:盲SQL/XPath注入
header: GET /file.php?id=2'+and+31337-31337=0+--+&page=2
响应:
找不到文件
(有时它会显示结果)
这是我的php代码:
$id = (int) htmlentities($_GET['id']);
$fileid = mysql_real_escape_string($id);查询:
SELECT * FROM `files` WHERE `id` = '".$fileid."'我做错了什么?有人能用这个删除我的数据库吗?我在一些查询中也得到了相同的消息,几乎与那个相同,但也有限制0,1
我使用了分页器(我修复了脚本中的一些注入),但我给出的示例没有使用它
发布于 2009-12-25 08:55:09
在int上强制转换id应该已经防止了任何SQL注入攻击(据我所知)。
$id = (int) $_GET["id"];
$Query = "SELECT * FROM files WHERE id = $id;";file.php?id=abcabc将导致$id = 0,因此在最坏的情况下,您将找不到任何与此id匹配的记录,但是由于这种整数转换,$id永远不会包含任何字符串(特别是不包含SQL)。
我希望这就是你想知道的。
发布于 2009-12-25 08:56:36
我相信Acunetix真的有buggy,看起来根本不存在任何SQL注入漏洞。
https://stackoverflow.com/questions/1960179
复制相似问题