atharvacancode/vulnerability-scanner

GitHub: atharvacancode/vulnerability-scanner

一个基于 Python 的 Web 应用漏洞扫描器,能够自动爬取目标站点并检测 SQL 注入、XSS、CSRF、目录遍历及安全标头缺失等常见漏洞,同时生成 HTML 格式的详细报告。

Stars: 0 | Forks: 0

# 漏洞扫描器 一个基于 Python 的 Web 应用漏洞扫描器,可检测常见的安全缺陷,包括 SQL injection、XSS、CSRF、目录遍历和缺失的安全标头。 ## 功能 - **SQL Injection 检测** — 测试 URL 参数中的 SQL injection 漏洞 - **XSS (跨站脚本攻击)** — 识别反射型 XSS 漏洞 - **CSRF (跨站请求伪造)** — 检测缺失的 CSRF token 保护 - **目录遍历** — 测试路径遍历漏洞 - **安全标头** — 检查是否缺失关键的安全标头(CSP、X-Frame-Options 等) - **网站爬取** — 自动发现待测试的 endpoint - **HTML 报告生成** — 生成详细的漏洞报告 ## 安装 ``` pip install -r requirements.txt ``` ## 使用方法 ``` python3 scanner.py ``` 示例: ``` python3 scanner.py http://example.com ``` 扫描器将执行以下操作: 1. 爬取目标网站(最深 2 层) 2. 测试发现的每个 endpoint 是否存在漏洞 3. 生成包含扫描结果的 `vulnerability_report.html` ## 测试 该扫描器已针对 **DVWA (Damn Vulnerable Web Application)** 进行过测试: ``` # 在 Docker 中运行 DVWA sudo docker run --rm -it -p 80:80 vulnerables/web-dvwa # 在另一个终端中,扫描它 python3 scanner.py http://localhost ``` **测试结果:** - ✅ 网站爬取功能正常 - ✅ 安全标头检测运行正常 - ✅ HTML 报告生成正常工作 - ✅ 检测到了缺失的 X-Frame-Options、X-Content-Type-Options、CSP、HSTS 标头 ## 工作原理 ### 爬取 扫描器执行深度受限的爬取(最多 2 层),以发现目标域名上的所有 endpoint。 ### 漏洞测试 **SQL Injection:** 注入常见的 SQL payload 并检查响应中是否存在 SQL 错误。 **XSS:** 使用 JavaScript payload 测试参数,并检查它们是否在未转义的情况下被反射。 **CSRF:** 扫描表单中是否存在 CSRF token。 **目录遍历:** 测试尝试访问系统文件的路径遍历。 **安全标头:** 验证是否存在关键的 HTTP 安全标头。 ## 严重程度级别 - **严重** — 存在被立即利用的风险(SQL Injection、目录遍历) - **高危** — 重大漏洞(XSS) - **中危** — 显著的安全缺口(CSRF、缺失的标头) ## 报告示例 生成的 HTML 报告包含: - 漏洞类型和数量 - 受影响的 URL - 用于复现的 payload/详情 - 严重程度分类 ## 局限性 - 基础的 payload 检测;复杂的 WAF 可能会绕过测试 - 不支持对受保护 endpoint 进行身份验证 - 仅限于浅层爬取(2 层) - 检测依赖于模式匹配,而非复杂的 AST 分析 ## 未来增强功能 - 身份验证支持 - 结合 session 管理的更深层爬取 - 更复杂的 payload 检测 - 服务器端请求伪造 (SSRF) 测试 - 不安全的反序列化检测 - API endpoint 扫描 - WAF 绕过技术 ## 免责声明 本工具仅供**授权的安全测试**使用。未经授权扫描您不拥有或无权测试的网站是违法的。请负责任地使用。
标签:CISA项目, Python, Web安全, 加密, 多模态安全, 无后门, 漏洞扫描器, 蓝队分析, 请求拦截, 逆向工具