2022年十大Web黑客技术盘点:从OAuth劫持到请求走私

本文深入解析2022年最具影响力的十大Web黑客技术,涵盖OAuth账户劫持、HTTP请求走私、服务器端缓存投毒等前沿攻击手法,揭示现代Web应用面临的安全挑战与防御思路。

2022年十大Web黑客技术

欢迎阅读《2022年十大Web黑客技术》,这是我们第16届年度社区驱动的活动,旨在识别去年发布的最重要和创新的Web安全研究。自1月发布提名征集以来,你们提交了创纪录的46项提名,并通过投票选出了15名决赛选手。在过去的两周里,由研究人员Nicolas Grégoire、Soroush Dalili、Filedescriptor和我本人组成的专家小组对15名决赛选手进行了分析、讨论和投票,最终为大家带来了2022年十大新Web黑客技术。和往常一样,我们没有排除自己的研究,但小组成员不能投票给任何他们关联的项目。

今年,连续第三年,高质量提名的数量有了明显的提高。虽然全新的技术和类别突破变得越来越罕见,但比以往有更多的人在边界上推进并分享他们的发现。看到研究生态系统蓬勃发展真是太好了,即使这让选择前十名变得更加困难!

在开始倒计时之前,我应该指出,任何将一年的研究压缩成前十名列表的尝试都会让有价值的技术被忽视。如果你渴望知识,我强烈建议阅读整个提名列表。从最终的前十名中,两个关键主题脱颖而出——单点登录和请求走私。让我们仔细看看!

10 - 利用Web3的隐藏攻击面:Netlify的Next.js库中的通用XSS

当我们找到方法将更多复杂性塞进软件时,即使是看起来静态的网站也可能隐藏严重的漏洞。在《利用Web3的隐藏攻击面》中,Sam Curry和Shubham Shah通过源自Netlify的Next.js库的XSS、SSRF和缓存投毒组合,拆解了众多加密货币网站。我们急切想看看这种方法论和对加密货币生态系统的洞察是否会推动该领域的进一步发现。

9 - 实用的客户端路径遍历攻击

有时一类漏洞可能相当明显,但由于明显的严重性低而被忽视多年。在《实用的客户端路径遍历攻击》中,Medi探索了一种非常常见的网站行为——将用户输入放在请求路径中——并展示了实现真实影响的清晰途径。这种行为在过去几年中几次出现在漏洞利用链中,但这篇文章表明是时候将其视为一个独立的漏洞了。这种客户端参数污染的表亲已经激发了一个后续研究,将其用于CSRF,我们相信还会有更多。

8 - Java中的通灵签名

Neil Madden的《Java中的通灵签名》展示了一个关键且非常简单的攻击,使用数字0伪造ECDSA签名,破坏了包括JWT和SAML在内的众多核心Web技术的加密基础。这种使用古老加密攻击推翻现代Web技术的做法很好地提醒我们,你并不总是需要复杂的攻击来实现巨大影响——而且尽管抽象很好,但有时值得进一步查看堆栈。

7 - 全球Akamai边缘节点的服务器端缓存投毒

早在2019年,前十名提名之一是一篇关于HTTP逐跳头部利用潜力的理论文章,并呼吁对该主题进行进一步研究。三年后,《全球Akamai边缘节点的服务器端缓存投毒》利用这一概念实现了巨大影响和大量漏洞赏金,将该技术确立为Web黑客和服务器实现者的必备知识。

我们也欣赏Jacopo Tediosi如何罕见地揭示了使用高级技术的人在尝试让他们的漏洞赏金报告被处理时所遇到的痛苦世界。

6 - 通过响应队列投毒使HTTP头部注入变得关键

是否曾想过为什么人们有时注入HTTP响应头部,但随后称其为“响应拆分”,即使他们从未实际拆分响应?在《通过响应队列投毒使HTTP头部注入变得关键》中,我通过一个高影响、高回报的案例研究探索了被长期遗忘的响应拆分技术。

正如filedescriptor所指出的,“似乎代理中有无限多的异常,给你带来无限多的请求走私技术”……稍后再详述。

5 - 绕过.NET序列化绑定器

2020年,.NET SerializationBinder文档将“SerializationBinder也可用于安全”改为“SerializationBinder不能用于安全”。从这个简单的预告开始,Markus Wulftange的《绕过.NET序列化绑定器》深入探讨了原因,最终以DevExpress和Microsoft Exchange为案例构建了漏洞利用。这项研究引用了大量文档和相关研究,使其成为进入.NET序列化内部的绝佳门户。像这样的高质量研究常常激发行动,结果Soroush已经在此基础上构建并将结果集成到YSoSerial.Net中。你会想知道自上次阅读以来,哪些安全关键文档发生了变化。

4 - 使用SAML黑客攻击云

就像OAuth一样,讨论SSO不能不讨论SAML。虽然一些SAML漏洞众所周知,但Felix Wilhelm的《使用SAML黑客攻击云》在展示SAML攻击面的恐怖扩展性方面表现出色。这最终以一个XML文档达到高潮,该文档使用整数截断错误在Java尝试验证其签名时触发任意字节码执行。这是必看的研究。演示录制使该主题异常易于理解并提供有价值的背景,但如果你已经熟悉SAML利用,你可能可以通过幻灯片或浓缩的书面报告应付。

3 - Zimbra电子邮件 - 通过Memcache注入窃取明文凭据

应用层缓存被广泛使用但很少被利用。在《Zimbra电子邮件 - 通过Memcache注入窃取明文凭据》中,Simon Scannell通过触发memcache等效的响应队列投毒,引起协议级混乱,将这种罕见的漏洞类别提升到前所未有的水平。这项创新研究是对通过深入了解目标可以实现什么的极好演示。未来我们将密切关注服务器端缓存注入和替代协议异步攻击。

2 - 浏览器驱动的异步攻击:HTTP请求走私的新前沿

在《浏览器驱动的异步攻击》中,我探索了HTTP请求走私的新向量,破坏了从Amazon到Apache的目标,并最终将攻击客户端带入受害者的浏览器。我发现这项研究在技术上极具挑战性,但幸运的是,Web Security Academy团队能够提供实验室帮助读者练习,并且我们已经看到人们在野外成功使用该技术。小组有许多好话要说,包括“从异步蠕虫(让人想起XSS蠕虫)到客户端异步的创造力超出图表”“新概念,众多用例,一如既往地令人印象深刻”“还给了观众/读者探索的东西”。

请求走私已经证明自己是一个不可阻挡的新威胁来源,连续几年如此,并且有许多未探索的途径,这可能会持续到HTTP/1被完全淘汰,我想这需要一段时间。

1 - 使用OAuth登录流程中的脏舞蹈进行账户劫持

OAuth已成为现代SSO的基础,对其的攻击自那时起一直是黑客的主打。最近,浏览器引入了引用者剥离缓解措施,阻止了最流行的技术之一——或者我们是这样认为的。在《使用OAuth登录流程中的脏舞蹈进行账户劫持》中,Frans Rosen显示现代Web堆栈提供了充足的替代方案。

这项必读研究提供了将OAuth怪癖与低影响URL泄漏小工具(包括混杂的postMessages、第三方XSS和URL存储)链接的大师班。这些漏洞中的许多以前会被认为没有重大安全影响而被驳回,因此它们有多年时间扩散。这些攻击的巨大潜力迅速激励我们尝试启用自动化URL泄漏检测,并且我们还在探索将这些技术集成到我们OAuth Academy主题的实验室中,以帮助社区获得应用它们的实践经验。这是一项出色的研究,我们预计将在未来几年结出果实。祝贺Frans当之无愧的胜利!

结论

2022年,社区发布了比以往更多 outstanding 的研究,导致投票分布广泛,前十名席位竞争激烈。将40多项提名压缩成前十名列表不可避免地对不起30名亚军,因此我们建议爱好者阅读整个提名列表。此外,如果你自己的最爱没有入选,请随时发推告诉我们!

部分进入前十名的原因是其预期的 longevity,因此也值得了解过去几年的前十名。如果你有兴趣预览2023年可能获胜的内容,可以订阅@PortSwiggerRes、r/websecurityresearch和@portswiggerres@infosec.exchange。

如果你有兴趣自己进行这类研究,我在《狩猎规避漏洞》和《所以你想成为Web安全研究员?》中分享了一些多年来学到的经验教训。此外,如果你已经在进行这类工作,我还应该提到我们正在招聘另一名研究员。

再次感谢所有参与的人!没有你们的提名、投票以及最重要的研究,这是不可能的。

下次见!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计