探索Web安全新维度:CORStest - 跨域资源分享漏洞扫描器
CORStestA simple CORS misconfiguration scanner项目地址:https://gitcode.com/gh_mirrors/co/CORStest
在现代Web开发中,跨域资源共享(CORS)是一种允许网页从不同的源获取资源的安全机制。然而,当CORS配置不当时,可能会导致严重的安全风险。为了解决这个问题,我们向您推荐一个强大的Python 3工具——CORStest,由James Kettle的研究成果为基础构建。
项目介绍
CORStest 是一款快速且直观的Python工具,用于检测CORS配置错误。它接受一个包含域名或URL的文本文件作为输入,通过发送特定的Origin
请求头并检查响应中的Access-Control-Allow-Origin
头来识别潜在的漏洞。这个工具设计的目标是帮助开发者和安全专家提前发现这些隐藏的风险点,从而避免被攻击者利用。
技术分析
CORStest能够检测以下几种常见的CORS配置问题:
- 开发者后门:允许像JSFiddle或CodePen这样的开发环境访问资源。
- 原始反射:响应头简单地回显起源,允许任何站点访问。
null
误配置:通过沙盒化的iframe强制null
起源,允许所有网站访问。- 预域通配符:不包括特定域的通配符可能导致攻击者注册。
- 后域通配符:允许domain.com.evil.com访问,攻击者可以注册相应子域名。
- 子域名允许:如果攻击者在任何子域名上找到XSS,允许sub.domain.com访问。
- 非SSL站点允许:HTTP起源被允许访问HTTPS资源,可能导致中间人攻击破坏加密。
- 错误的CORS头部:使用通配符或多个起源的方式不正确,虽然不是直接的安全问题,但应予以修正。
应用场景
您可以使用CORStest对任何需要进行CORS安全评估的网站列表进行测试。例如,可以针对Alexa排名前750的网站进行扫描,以识别是否存在潜在的CORS配置问题。此外,对于大型企业或拥有大量子域的组织,定期运行CORStest有助于维持Web应用的安全性。
项目特点
- 高效扫描:支持多进程并发处理,加快扫描速度。
- 自定义选项:可设置发送特定的cookies,选择只针对返回
Access-Control-Allow-Credentials
的响应进行检查,以及控制输出的详细程度。 - 灵活的输入:只需提供包含目标网址的文本文件,即可开始扫描。
- 可视化反馈:清晰的示例输出显示了CORS漏洞的分布情况。
使用
CORStestA simple CORS misconfiguration scanner项目地址:https://gitcode.com/gh_mirrors/co/CORStest