React2Shell攻防笔记:原理挖掘与价值15万美元的WAF绕过思路

💡 原文中文,约9000字,阅读约需22分钟。
📝

内容提要

2025年12月,React Server Components和Next.js出现严重漏洞React2Shell(CVE-2025-55182)。该漏洞源于数据与业务逻辑混淆,攻击者可伪造Chunk对象并执行任意代码。作者分享了参与Vercel WAF绕过活动的经历,并获得5万美元奖金。最终,React官方修复了该漏洞。

🎯

关键要点

  • 2025年12月,React Server Components和Next.js出现严重漏洞React2Shell(CVE-2025-55182)。
  • 漏洞源于数据与业务逻辑混淆,攻击者可伪造Chunk对象并执行任意代码。
  • 作者分享了参与Vercel WAF绕过活动的经历,并获得5万美元奖金。
  • React2Shell漏洞的核心原因是React Flight在解析用户输入时混淆了数据和Chunk对象。
  • 攻击者利用Thenable对象的特性,导致JavaScript自动解包,最终执行任意代码。
  • React官方在多个PR中修复了该漏洞,使用Symbol作为key以防止恶意Chunk构造。
  • 作者通过研究WAF绕过方法,成功利用utf-16编码绕过了Vercel的WAF。
  • Vercel在后续更新中加强了对关键字的检测,提升了漏洞利用的难度。
  • 作者提出的多重unicode编码方法被Vercel官方采纳,进一步修复了漏洞。
  • 利用Multipart数据包的特性,攻击者可以绕过WAF进行漏洞利用。
➡️

继续阅读