数据库
首页 > 数据库> > PHP-盲SQL注入

PHP-盲SQL注入

作者:互联网

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

标头:
GET /file.php?id=2’和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

我正在使用分页器(我修复了该脚本中的某些注入),但是我给出的示例未使用它

解决方法:

据我所知,将id强制转换为int应该已经可以防止任何SQL注入攻击的机会.

$id = (int) $_GET["id"];
$Query = "SELECT * FROM files WHERE id = $id;";

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

我希望这就是您想知道的.

标签:sql-injection,php
来源: https://codeday.me/bug/20191106/2001998.html