这是 SQL 注入攻击吗?如果是,它想做什么?

这是 SQL 注入攻击吗?如果是,它想做什么?

我在访问日志中看到许多条目'A=0被添加到查询参数中,例如:

http://www.server.org/foo/?bar=1'A=0&类型=xml

附加的参数'A=0各不相同,但始终是'A=0,因此这不太可能是某个意外点击的格式错误的 URL。此外,引用者始终与目标 URL 相同,这让我认为这是一个完全捏造的请求。

我不明白这是要做什么。假设这是一次 SQL 注入尝试,它似乎会生成无效的 SQL 并直接失败。我是不是漏掉了什么?

答案1

它有点像一个钝器,旨在“探测”编写不佳的网站,即那些容易受到 SQL 注入攻击的网站错误处理能力较差。

$user = $_GET[ 'bar' ] ; // "1'A=0" 
$sql = "select * from users where username = '$user'" ; // literally '1'A=0' 

此类网站会抛出错误,并且很可能显示所有的错误消息将向全世界和攻击者显示。该错误的措辞很可能是DBMS 特定
因此,像这样的一个可疑请求,Bingo!您的攻击者现在知道您正在运行什么 DBMS,并且可以找到他们最喜欢的“攻击向量剧本”开始入侵

答案2

我已经看到这些问题好几个月了,我只是认为它们是由寻找 SQL 注入漏洞的机器人造成的。

我的所有 URL 变量几乎都是严格数字的,因此我过滤所有非数字 URL 变量并重定向到友好的错误页面。

错误页面通过电子邮件向我发送了 CGI 转储,因此如果攻击超过几次,我就会阻止该 IP。

相关内容