白皮书系统性地诊察了攻击,同时展示了一系列新的缺陷清单
研究人员发布了一种新的模糊测试工具,用于寻找新型HTTP请求夹带攻击技术技术。
该工具被称为“T-Reqs”,由来自东北大学、波士顿和 Akamai 的团队研发搭建。
在一份白皮书 (PDF) 中,研究人员讨论了他们如何使用模糊测试工具发现大量新漏洞,他们表示漏洞赏金猎人和研究人员都可以使用这些漏洞。
HTTP历史
于2005年首次出现的 HTTP请求夹带攻击会干扰网站处理从用户接收的 HTTP 请求序列的方式。负载平衡器(又名反向代理)通常通过同一网络连接将多个 HTTP 请求连续转发到后端服务器。
如果前端和后端服务器之间存在差异,它可以允许攻击者通过代理夹带隐藏的请求。这可能会产生深远的影响,并导致帐户劫持和缓存中毒等情况。
先前对该漏洞的研究针对的是Content-Length
和 Transfer-Encoding
请求头。
这项新研究转向将HTTP 请求夹带作为一个系统交互问题来关注,该问题涉及流量路径上至少两个 HTTP 协议处理器。
论文中写道:“这些协议处理器可能不一定是独立的错误;但是当一起使用时,它们在给定 HTTP 请求的解析或语义上存在分歧,这会导致漏洞。
“HRS的关键一层在之前的工作中没有被探索到。再者,以前的攻击集中在对上述两个 HTTP 请求头的恶意操作。
“是否可以篡改剩余HTTP 请求头或 HTTP 请求的其余部分以引起类似的处理差异仍然是未知数。”
为成功而生的工具
T-Reqs 是“两个请求”的简写,是一个基于语法的HTTP漏洞检查工具,它生成 HTTP 请求并修改它们以触发潜在的服务器处理异常。
它使用同样的修改过的请求在两个目标服务器执行,并比较其返回结果以识别导致夹带攻击的不一样的地方。
Akamai 的 Kaan Onarlioglu 在接受 The Daily Swig 采访时说:“T-Reqs 是一个运行在实验设备服务器的漏洞检查工具。
“它是一种发现新型夹带漏洞的工具。这对服务器开发人员特别有用,事实上我们论文中提到的几家供应商现在正在使用它进行内部测试。
“T-Reqs不是为测试实时 Web 应用程序而设计的;它不是重复以前已知的夹带payloads的渗透测试工具。 Burp Suite 的 HTTP Request Smuggler 扩展程序更适合这种情况。
“我们设想社区将加强和使用 T-Reqs 来发现新的漏洞,然后将这些payloads与他们的测试工具和流程集成。”
Onarlioglu 说,他们决定研究这个主题是因为 HTTP 规范非常复杂,因此团队认为“存在大量带有异常的服务器技术”,而且“肯定存在大量夹带请求的机会”。
研究人员说:“我们的研究验证了这一假设。我们对主流的10种代理/服务器技术与HTTP请求各个部分形成的所有组合都做了测试。我们发现了一系列全新漏洞!”
白皮书包含有关漏洞的更多信息以及更多技术细节。
以系统为中心
Onarlioglu 告诉 The Daily Swig:“请求夹带的迷人之处在于它是一个系统问题。即使我们能想出一个神奇的开发过程并开始打造完美的服务器,面对请求夹带,它们仍然会失败。
“安全组件不一定构成安全系统;安全性是整个系统的一个紧急属性。
“研究人员并不从传统角度看待安全性,但随着越来越普遍的攻击,如夹带、缓存中毒和缓存欺骗,这种情况正在发生变化。
“我的团队坚信以系统为中心的观点是阻止下一代网络攻击的关键,因此我们正在积极研究这个领域。”