“ allrequestsallowed.com”…尝试破解?


11

我在(小型,个人且绝对不重要的)Web服务器上进行了许多尝试,而apache和fail2ban通常可以正常工作。但是有一个日志条目让我担心:

xx.yy.www.zzz - - [9/Jul/2011:12:42:15 +0100] "GET http://allrequestsallowed.com/?PHPSESSID=5gh6ncjh00043YVMWTW_B%5CFAP HTTP/1.1" 200 432 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"

问题是答案不是404代码,而是200。可以吗?对我来说似乎很奇怪,但是,我对此领域(以及许多其他领域)的了解是有限的。


1
似乎不允许我发布新的答案,但是我们在日志中找到了这样的条目,并且我们可以通过使用curl:复制请求来验证它是否危险curl -v http://allrequestsallowed.com/?PHPSESSID=5gh6ncjh00043YVMWTW_B%5CFAP -x www.example.com:80。在我们的ubuntu系统上,默认配置似乎返回了“ Welcome to nginx”页面,但没有任何有意义的内容。因此,这是一个200的响应,但这是一个简单的全部页面-我们实际上并没有在其他地方代理请求或类似的请求。
Frank Farmer

Answers:


12

首先,首先,我不知道假定的攻击者想要完成什么。我不知道,也许那里有一个PHP脚本或PHP版本容易受到某些奇怪的会话ID攻击。不过,您可能不必担心。

您的服务器的行为完全符合预期。由于Apache如何解释传递给它的URL,因此在特定情况下应使用200。

首先,http://allrequestsallowed.com它像更常见的“ Host:”头一样对待(请注意,我认为这不是在RFC中指定的,其他服务器可能无法以我错的方式解释它,这是在RFC 2616中的5.1节中指定的。 2,即使客户端似乎很少使用这种形式,对不起,我需要修复前一阵子写的HTTP服务器实现...)。

现在,大概您没有名为“ allrequestsallowed.com”的网站。那么,当Apache获得Host:无法识别的主机名的标头(或等效名称)时,会发生什么?它选择第一个虚拟主机作为默认主机。这是Apache的明确定义和记录的行为。因此,无论您的第一个虚拟主机是什么(如果没有任何虚拟主机,则仅是主服务器配置)都可以接管,无论其名称如何。

现在,给定的URL的其余部分由两部分组成-路径/,和GET参数(该?PHPSESSID...位)。

现在,该路径/应该出现在几乎所有的Web服务器上。在大多数情况下,它可以映射到类似脚本index.htmlindex.php脚本,尽管您当然可以覆盖其中的任何一个。

如果将其映射到静态HTML文件,则绝对不会发生任何异常情况-返回文件的内容,仅此参数就被忽略。(假设您没有设置某些高级配置指令,并且几乎可以肯定没有。)

另一方面,如果它是某种脚本,则该PHPSESSID变量将传递给脚本。如果脚本实际上使用了该变量(在这种情况下,只有使用PHP的内置会话处理的PHP脚本才有可能使用),则其行为将取决于内容。

但是,即使您/碰巧使用会话映射到PHP脚本,也绝不会发生任何异常情况。会话ID可能将始终不存在,并且将被忽略,否则脚本将显示错误。

在不太可能的情况下,如果确实存在会话ID,那么攻击者可能会劫持其他人的会话。那将是不好的,但是它本身并不是一个真正的安全漏洞–漏洞将在攻击者从中获取会话ID信息的任何地方(如果您不使用HTTPS,则嗅探无线网络是一个不错的选择)。他们实际上将无法执行其会话最初无法执行的用户所能做的任何事情。

编辑:此外,SESSIONID中的'%5C'映射为反斜杠字符。这似乎是对Windows主机上的目录遍历攻击的一种测试。


我在运行nginx或的服务器上也收到过类似的请求404、500、403和20x lighttpd,并将IP /源主机发送给网络分析公司后,可以确定这是在尝试利用服务器中的漏洞。与OP指定的请求类似,不同的主机。您是说应该完全忽略它们吗?因为如果真的关心它们,它们可以阻止中的主机iptables
托马斯·沃德

@The Evil Phoenix:URL中的主机不是请求的来源,它只是一个“ Host:”头的等效项。如果OP希望的话,可以用iptables阻止被OP遮盖的实际客户端IP地址,但是除非他被请求所淹没,否则的确没有关系。仅仅因为有人试图利用漏洞并不意味着存在漏洞。我管理着许多(Linux)服务器,这些服务器记录着许多旨在利用漏洞的奇怪请求,其中大多数都是Windows / IIS漏洞!这只是盲目扫描。如果没有成功,它将移至下一个IP地址。
尼古拉斯·奈特

@The邪恶凤凰:另外,如果孔目前,阻断利用它不会做的不错的一个位的IP地址。您的服务器已经受到威胁,并且仍然容易受到来自其他来源的相同攻击-并且有很多来源。那里的每一个僵尸系统(有数百万个)都是恶意扫描的潜在来源。
尼古拉斯·奈特

详尽的解释。。非常感谢。我遮蔽了得罪 IP的情况下,他/她的IP自我surfes :)。我的/映射到apache的默认“有效”(我知道,多么不专业...但是我说这是个人的,哈哈)。因此,我假设除非相同的IP变得痛苦,否则我什么也不做,在这种情况下,我将使用iptables(甚至是hosts.deny?)将其阻止。再次感谢。
luri 2011年

1

我已经将所有allrequestsallowed允许登录到一个IP,该IP用作我们所有停车域的A记录。

我的看法是,此主机名与指向目标主机的“攻击者”本地主机文件结合使用。

实际的31.44.184.250网络服务器仅用于处理外部请求。

我的看法:完全无害。除了可以在主机文件中使用任何其他虚假域名进行的操作之外,没有看到任何增值用途。

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.