raeewaykole-rw/web-vulnerability-scanner

GitHub: raeewaykole-rw/web-vulnerability-scanner

这是一个极简的 Python Web 漏洞扫描工具,旨在通过注入 Payload 检测 SQL 注入、XSS 及安全头缺失等常见风险。

Stars: 0 | Forks: 0

# Web 应用程序漏洞扫描器 一个用于扫描网页常见问题的极简 Python 工具: - **SQL 注入**(简单的反射型 payload + 错误字符串检测) - **反射型 XSS**(将 payload 注入到查询参数中并检查输出) - **缺失的安全头**(基本的安全头存在性检查) ## ✅ 要求 - Python 3.8+ - (可选但推荐)安装依赖项以获得更好的扫描支持: ``` pip install -r requirements.txt ``` 该扫描器仅使用标准库即可工作,但安装依赖项将启用更好的表单解析和 HTTP 处理(requests + BeautifulSoup)。 ## ▶️ 用法 ``` python scanner.py https://example.com/?id=1 ``` ### 示例 ``` # 快速扫描(低超时/重试) python scanner.py --profile fast https://example.com/?id=1 # 深度扫描(更高超时/重试 + 扫描所有参数) python scanner.py --profile deep https://example.com/?id=1&foo=bar # 输出 JSON 报告 python scanner.py --report-format json --report-file report.json https://example.com/?id=1 # 生成带有可下载 JSON/PDF 附件的 HTML 落地报告 python scanner.py --report-format landing --report-file report.html https://example.com/?id=1 # 生成 PDF 报告 python scanner.py --report-format pdf --report-file report.pdf https://example.com/?id=1 ``` ### 可选标志 - `--dry-run`:打印将要测试的 payload/URL,而不发起任何网络请求。 - `--all-params`:对每个查询参数测试 payload(而不是仅测试第一个)。 - `--profile `:使用扫描配置文件,为超时/重试/all-params 设置合理的默认值。 - `--report-file `:除了打印到 stdout 之外,还将报告保存到文件。 - `--report-format `:选择输出格式。 - `--timeout `:每个请求的超时时间(覆盖配置文件设置)。 - `--retries `:将失败的请求重试最多指定次数(覆盖配置文件设置)。 - `--insecure`:禁用 SSL 证书验证(适用于自签名证书)。 ## 🔍 工作原理 - `sql_scanner.py`:尝试针对查询参数和 HTML 表单字段使用多种 SQL 注入 payload,然后扫描响应中是否存在常见的 SQL 错误模式。 - `xss_scanner.py`:尝试针对查询参数和 HTML 表单字段使用几种常见的反射型 XSS payload,然后检查它们是否在响应中被反射出来。 - `headers_scanner.py`:获取响应头并检查是否存在常见的安全头。 ## 🧪 输出 扫描器会在控制台打印摘要,其中包含关于 SQL 注入、XSS 和缺失安全头的任何发现。
标签:AppImage, Burp Suite, CISA项目, DOE合作, IP 地址批量处理, Python, Splunk, Web安全, Web应用防火墙, XSS, 字符串匹配, 安全header检查, 无后门, 漏洞情报, 网络安全, 自动化分析, 蓝队分析, 跨站脚本, 逆向工具, 隐私保护