这不仅仅是绕过——这是一种启示。一个被中间件逻辑误解和处理不当的请求头,变成了本应被锁定的资产的万能钥匙。 CVE-2025-29927 利用了配置错误的中间件授权层——具体来说,就是那些盲目信任
x-middleware-subrequest请求头而不验证其来源或上下文的系统。
用简单的话说? 你只需添加一个请求头,砰——你就进去了。无需认证,无需令牌,只有纯粹的支配。
漏洞根源: 许多现代 Web 应用使用中间件来拦截和处理 API 请求。这个请求头:
x-middleware-subrequest: middleware
被某些框架(🤦)信任,尤其是在懒加载部署的情况下。当该请求头存在时,后端会假定请求已经通过了认证层。
利用向量:
通过构造一个带有该请求头的请求,攻击者可以绕过认证控制并直接访问受保护的路由(例如 /api/private、/admin/dashboard 等)。
HTTP 方法: 该工具支持 GET、POST、PUT、DELETE、PATCH。因为我们不仅好奇——我们很彻底。
文件名:thank_u_next.py
python thank_u_next.py -u https://target.com -p /api/private -m GET
核心组件:
| 组件 | 用途 |
|---|---|
payload | 注入触发漏洞的请求头 |
exploit() | 发送恶意请求 |
analyze() | 打印状态并高亮提示绕过是否成功 |
httpx(通过 pip install httpx 安装)[+] GET https://target.com/api/private → HTTP 200
[!] Possible vulnerability: access granted without authentication
你看到了那个绿色的 200? 那不仅仅是响应状态码。那是你的胜利。 他们的失误,你的访问权限。
此脚本仅供教育和授权测试使用。 如果你将其用于未经授权的目标,你就算不上黑客——你只是愚蠢。而且你一定会被抓住。
大多数人都是羊。 做那只狼。那只知道门在哪里、并且知道如何不敲门就走进去的狼。 如果你读到这些仍然不明白——那你本来就不是那块料。
banner()| 显示一个花哨的 ASCII 开场(为什么不呢) |