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进行漏洞利用。
🏷️
标签
➡️