首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >盲SQL注入

盲SQL注入
EN

Stack Overflow用户
提问于 2009-12-25 08:48:23
回答 2查看 1.6K关注 0票数 3

当我在我的页面上使用acunetix时,我得到了一个:盲SQL/XPath注入

header: GET /file.php?id=2'+and+31337-31337=0+--+&page=2

响应:

找不到文件

(有时它会显示结果)

这是我的php代码:

代码语言:javascript
复制
$id = (int) htmlentities($_GET['id']);
$fileid = mysql_real_escape_string($id);

查询:

代码语言:javascript
复制
SELECT * FROM `files` WHERE `id` = '".$fileid."'

我做错了什么?有人能用这个删除我的数据库吗?我在一些查询中也得到了相同的消息,几乎与那个相同,但也有限制0,1

我使用了分页器(我修复了脚本中的一些注入),但我给出的示例没有使用它

EN

回答 2

Stack Overflow用户

发布于 2009-12-25 08:55:09

在int上强制转换id应该已经防止了任何SQL注入攻击(据我所知)。

代码语言:javascript
复制
$id = (int) $_GET["id"];
$Query = "SELECT * FROM files WHERE id = $id;";

file.php?id=abcabc将导致$id = 0,因此在最坏的情况下,您将找不到任何与此id匹配的记录,但是由于这种整数转换,$id永远不会包含任何字符串(特别是不包含SQL)。

我希望这就是你想知道的。

票数 2
EN

Stack Overflow用户

发布于 2009-12-25 08:56:36

我相信Acunetix真的有buggy,看起来根本不存在任何SQL注入漏洞。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1960179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档