2024年十大Web黑客技术盘点:从OAuth劫持到Apache语义混淆攻击

本文深度解析2024年最具创新性的十大Web黑客技术,涵盖OAuth流劫持、Web缓存欺骗、PDF.js代码执行、HTTP请求走私等高危攻击手法,揭示现代Web应用安全面临的新挑战。

2024年十大Web黑客技术

欢迎阅读《2024年十大Web黑客技术》,这是我们第18届由社区驱动的年度评选,旨在识别去年发布的最具创新性的必读Web安全研究成果。

本文章是与安全社区三步协作的成果。在过去一个月中:

  • 社区提交了2024年顶级研究的提名
  • 社区对提名进行投票,产生前15名入围名单
  • 专家小组对入围名单投票,选出并排序最终10强

今年社区提名了惊人的121项研究——几乎是上次的两倍。为使社区投票选项可控,我过滤了2024年之外或Web应用安全范围之外的文章,以及有价值但缺乏创新性的文章。即使经过过滤,仍有103项条目!

社区投票后,我们荣幸地看到前15名中包含三项PortSwigger Research的技术。为避免重蹈去年覆辙,我将这些从专家投票中排除。当然,我们仍为之自豪,您可在此阅读:

  • 《全部缓存:颠覆Web缓存利用规则》
  • 《拆分邮件原子:利用解析器绕过访问控制》
  • 《倾听低语:真正有效的Web定时攻击》

社区投票产生的15名决赛选手由专家小组分析并投票,小组成员包括Nicolas Grégoire、Soroush Dalili、STÖK、Fabian(LiveOverflow)和我本人。

今年,前五名被单一主题主导——您或许能猜到是什么。

让我们开始倒数!

10. 通过Cookie投掷劫持OAuth流

第十名是Elliot Ward的《通过Cookie投掷劫持OAuth流》,介绍了被广泛低估的Cookie投掷技术的新应用。这项研究直接受到Thomas Houhou早期文章的启发。

两篇文章都是必读之作,尤其当您遇到自跨站脚本(XSS)或无果子域的XSS时。Cookie早于管理JavaScript的同源策略,这项研究表明尽管有从HttpOnly到SameSite数十年的安全修补,它们仍是隐患。或许使用localStorage存储会话令牌会更安全。

9. ChatGPT账户接管 - 通配符Web缓存欺骗

Web缓存欺骗最初在2017年十大Web黑客技术中位列第二,近期发展迅速。

在《ChatGPT账户接管 - 通配符Web缓存欺骗》中,Harel对该技术进行了变种,利用不一致解码执行路径遍历并逃脱缓存规则的预期范围。我们基于此技术构建了Web Security Academy实验环境,供您亲自尝试。

强烈推荐阅读作者的所有文章——它们是我们Web缓存欺骗研究的重要灵感来源。

8. OAuth非快乐路径到账户接管

第八名是Oxrz的《OAuth非快乐路径到账户接管》,阐述了一个优美创新攻击链背后的思维过程。STÖK完美捕捉了这项研究的突出之处:

“我喜爱的是,看似良性的应用遵守被操纵的‘Referer:’头,却能通过OAuth变成全面账户接管。这条链完美展示了如何从先前研究(本案中Frans Rosén近乎传奇的Dirty Dancing文章)汲取灵感,结合深入OAuth文档研究,产生极具创意的攻击链。我已完全忘记这种攻击流,但从今以后,每当探查时,我肯定会自动化检查基于referer的重定向!”

7. CVE-2024-4367 - PDF.js中的任意JavaScript执行

第七名是一个CVE!确切地说是《CVE-2024-4367 - PDF.js中的任意JavaScript执行》。单个已修补漏洞很少进入前十,但Thomas Rinsma的发现例外。PDF.js作为库被广泛嵌入,使得二阶影响巨大且难以预测。这项研究是对严重被忽视攻击面的高质量分析,并动摇了关于攻击者可能立足点的假设。

如果您喜欢此类PDF技巧,强烈推荐查阅Alex Inführ和Ange Albertini的出版物。

6. 双击劫持:UI redress的新时代

《双击劫持:UI redress的新时代》引入了点击劫持的变种,绕过几乎所有已知缓解措施。这项条目在专家小组中引起争议,因为它看似简单且事后明显,但仍因原始、不可否认的价值高位入选。

虽然此攻击概念已存在多年,但Paulos Yibelo以完美执行证明这无疑是该攻击的正确时机。框架限制和SameSite cookie已基本消灭点击劫持,浏览器性能达到使手法几乎不可见的水平。爱它、恨它,或仅仅恨自己未先发现,这都不是可忽视的技术!

5. 探索DOMPurify库:绕过与修复

HTML净化是数十年的XSS战场,而Cure53的DOMPurify库已成为实际有效的唯一防御解决方案。

《探索DOMPurify库:绕过与修复》深入浏览器HTML解析内部,发现并应用新颖的突变XSS(mXSS)原语。被LiveOverflow描述为“绝对愉悦的阅读”和“可能是理解mXSS及如何影响净化器(如DOMPurify)最全面的文章”,这是任何JavaScript和XSS爱好者的必读之作,并将作为未来多年开发HTML净化绕过的手册。

Mizu的出色工作。

4. WorstFit:揭示Windows ANSI中的隐藏转换器

每个人‘知道’字符集转换是绝对雷区,但现实中很少见于实际利用。在《WorstFit:揭示Windows ANSI中的隐藏转换器》中,Orange Tsai和splitline证明了此攻击类的真正力量,获得众多CVE并在此过程中引发供应商推诿。当看似应是基础平台知识的东西出现并让所有人惊讶时,总是伟大研究的标志。

我们期望在此领域看到更多发现,在黑帽欧洲现场听完此演讲后,我将WorstFit式转换的自动检测推入ActiveScan++以提供帮助。STÖK还发现WorstFit映射探索器是生成模糊测试词表的绝对珍宝。

3. 揭示TE.0 HTTP请求走私

社区对请求走私的理解仍在快速演进,《揭示TE.0 HTTP请求走私:发现数千Google Cloud网站的关键漏洞》是Paolo Arnolfo、Guillermo Gregorio和@_medusa_1_的重大必读贡献。

这项研究对我个人意义重大,因为它教给我重要一课。当我首次遇到CL.0请求走私时,我假设TE.0可能存在但永远无法利用,因为它需要后端服务器接受以数字和换行符开头的HTTP请求。我大错特错。一旦掌握基础,如果想推动边界,依赖预测和分析可能阻碍您。如果您因为认为知道答案而不提问,您将保持无知。

如果您想知道攻击实际如何工作,我的最佳猜测是前端将正文重写为非分块,但由于OPTIONS方法忘记设置Content-Length头。这是疯狂的发现,打开了大量可能性。请关注此领域。

2. SQL注入未死:协议级查询走私

有时您可以从副标题看出研究将令人惊叹。LiveOverflow有精彩分析:

“伟大研究进展常发生在领域交叉处。在Paul Gerste的《SQL注入未死:协议级查询走私》中,我们看到二进制内存损坏想法应用于Web黑客世界。我们有整数溢出破坏大小,以及基本堆喷雾技术更可靠地命中虚假查询……优美。”

这未能夺得第一名证明了今年竞争的激烈。

1. 混淆攻击:利用Apache HTTP服务器中的隐藏语义歧义

Orange Tsai第三次以《混淆攻击:利用Apache HTTP服务器中的隐藏语义歧义》夺得第一名。这项启发、深入且有影响的研究出版让整个专家小组惊叹。以下是他们的评论:

“再次,Orange的一些梦幻研究!疯狂的是以前没人考虑以这种方式处理Apache!” - Nicolas

“我确定我们只是 scratching the surface of what’s possible by building on this research. 等不及深入挖掘,寻找混淆的指纹和指标,当时机成熟,全力brrrrrr!” - STÖK

“Orange Tsai像对待Web CTF挑战一样对待Apache httpd!Orange的研究(总是)如此深入和有影响,令人难以置信。鉴于httpd的流行,这项研究将长期作为安全从业者的参考。” - LiveOverflow

“Orange正在混淆所有应用!” - Soroush

这是不可思议、必读的研究,绝对应得第一名。恭喜Orange!

结论

安全社区在2024年发布了破纪录的高质量研究,导致社区和专家投票激烈竞争。这不仅是数量问题——这是自2018年接手前十项目以来我见过的最高质量研究,如果趋势持续明年,将造成浩劫。103项提名仅十个位置,许多优秀文章未入选,因此请务必查看完整提名列表并告诉我们您的第一名。此外,如果您发现2024年某些卓越研究从未被提名,请给我发邮件,我将添加到列表。

部分入选前十的因素是其预期 longevity,因此值得了解前十档案。如果您有兴趣预览2025年可能获胜的内容,可以订阅我们的RSS,加入r/websecurityresearch,跳上我们的Discord,或在社交媒体关注我们。如果您有兴趣自己进行此类研究,我在《狩猎规避漏洞》、《如何选择安全研究主题》和《所以您想成为Web安全研究员?》中分享了一些多年学到的教训。

衷心感谢专家小组贡献时间和专业知识策划最终结果,并感谢所有参与的人!没有您的提名、投票和最重要的研究,这将不可能。

下次见!

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