2022年十大Web黑客技术盘点
欢迎阅读《2022年十大Web黑客技术》,这是我们第16届年度社区驱动的评选活动,旨在识别去年发布的最重要和创新的Web安全研究。自1月发布提名征集以来,大家提交了创纪录的46项提名,并通过投票选出15个最终候选项目。在过去的两周里,由研究人员Nicolas Grégoire、Soroush Dalili、Filedescriptor和我本人组成的专家小组对15个决赛项目进行了分析、讨论和投票,最终确定了2022年十大新Web黑客技术。
今年,质量提名的数量连续第三年显著提高。虽然全新的技术和类别突破变得更为罕见,但越来越多的人在推动边界并分享他们的发现。看到研究生态系统的繁荣令人振奋,尽管这让选择前十名变得更加困难!
在开始倒计时之前,我需要说明,任何将一年的研究压缩成前十名的尝试都会忽略一些有价值的技术。如果你渴望知识,我强烈建议阅读整个提名列表。从最终的前十名中,两个关键主题突出——单点登录(SSO)和请求走私。让我们仔细看看!
10 - 利用Web3的隐藏攻击面:Netlify的Next.js库中的通用XSS
随着我们不断将更多复杂性注入软件,即使是看起来静态的网站也可能隐藏严重漏洞。在《利用Web3的隐藏攻击面》中,Sam Curry和Shubham Shah通过源自Netlify的Next.js库的XSS、SSRF和缓存投毒组合,摧毁了众多加密货币网站。我们急切期待该方法论和加密货币生态系统洞察是否能推动该领域的进一步发现。
9 - 实用的客户端路径遍历攻击
有时一类漏洞可能非常明显,但由于明显的严重性低而被忽视多年。在《实用的客户端路径遍历攻击》中,Medi探索了一种非常常见的网站行为——将用户输入放入请求路径中——并展示了实现真实影响的清晰途径。这种行为在过去几年中多次出现在利用链中,但这篇文章表明是时候将其视为一个独立的漏洞了。这个客户端参数污染的表亲已经激发了一个后续研究,将其用于CSRF,我们相信还会有更多。
8 - Java中的Psychic签名
Neil Madden的《Java中的Psychic签名》展示了一个关键且非常简单的攻击,使用数字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安全研究员?》中分享了一些多年来学到的经验教训。此外,如果你已经在进行这类工作,我还应该提到我们正在招聘另一名研究员。
再次感谢所有参与的人!没有你们的提名、投票和最重要的研究,这是不可能的。
下次见!