Kitsonmorag/Automated-Web-Application-Vulnerability-Scanner

GitHub: Kitsonmorag/Automated-Web-Application-Vulnerability-Scanner

一个纯 Python 的入门级 Web 漏洞扫描器,用于在授权范围内自动检测 XSS、SQL 注入和 CSRF 等常见安全问题并生成报告。

Stars: 0 | Forks: 0

# 授权使用的 Web 漏洞扫描器 本项目是一个小型 Python Web 漏洞扫描器,用于检测: - 反射型跨站脚本攻击 (XSS) - 基本的 SQL 注入 (SQLi) 错误指示符 - 通过 HTML 表单启发式方法发现的潜在跨站请求伪造 (CSRF) 问题 它专为您拥有或被明确授权测试的网站而设计。 ## 包含内容 - 用于发现链接和 HTML 表单的爬虫 - 针对查询参数和表单字段的反射型 XSS 检查 - 在注入破坏语法的 payload 后寻找数据库错误签名的 SQLi 启发式检测 - 标记没有类似 token 字段的 POST 表单的 CSRF 启发式检测 - 带有扫描元数据的 JSON 报告生成器 - 一个用于测试的、刻意包含漏洞的本地演示应用 ## 安全模型 此工具不支持无限制的互联网扫描。 - `localhost` 和私有 IP 范围可以直接扫描 - 公共网站需要明确的 `--scope-file` - scope 文件必须将 `authorized_use` 设置为 `true` - 目标主机名必须与该文件中的 `allowed_hosts` 条目相匹配 - 请求默认受速率限制 这使得该扫描器始终保持用于内部安全审查、实验工作和授权评估的方向。 ## 项目结构 ``` main.py demo_target.py scope.example.json pyproject.toml vuln_scanner/ __init__.py cli.py crawler.py forms.py payloads.py report.py scanner.py scope.py ``` ## 环境要求 - Python 3.10 或更高版本 无需任何第三方依赖。 ## 演示目标快速入门 启动本地演示应用: ``` python demo_target.py ``` 然后对其进行扫描: ``` python main.py http://localhost:8000 ``` ## 扫描已授权的公共网站 1. 复制 `scope.example.json` 并编辑允许列表。 2. 将 `authorized_use` 设置为 `true`。 3. 使用 scope 文件运行扫描器。 示例: ``` python main.py https://app.example.com --scope-file scope.example.json --max-pages 20 --requests-per-second 0.5 --output report.json ``` ## scope 文件格式 ``` { "name": "Example Corp Authorized Assessment", "owner": "Security Team", "authorized_use": true, "allowed_hosts": [ "app.example.com", "*.example.com" ], "max_requests_per_second": 1.0, "user_agent": "ExampleSecurityReview/2026", "additional_headers": { "X-Assessment-Contact": "security@example.com" } } ``` ## 输出示例 ``` [HIGH] Reflected XSS at http://localhost:8000/search?q=%22%3E%3Cscript%3Ealert%281337%29%3C%2Fscript%3E (GET q) [MEDIUM] Possible SQL Injection at http://localhost:8000/product?id=%27 (GET id) [MEDIUM] Potential CSRF at http://localhost:8000/comment (POST (form)) Saved report to report.json ``` ## 注意事项 - 这是一个入门级项目,而非生产级扫描器。 - SQLi 和 CSRF 检查均基于启发式规则,应进行人工验证。 - XSS 检测侧重于在响应正文中可见的反射 payload。 - 扫描器将保持在与起始目标相同的源站上。 - 此处的环境没有安装 Python,因此代码已准备好但未在此工作区中执行。
标签:BeEF, Bug Bounty, CISA项目, CSRF检测, DAST, DevSecOps, HTTP请求分析, OPA, Payload注入, Python安全工具, SQLi检测, Web安全, Web漏洞扫描器, Windows内核, XML 请求, XSS检测, 上游代理, 动态应用安全测试, 反取证, 可自定义解析器, 安全开发, 安全扫描, 安全测试, 安全评估, 恶意软件分析, 攻击性安全, 数据展示, 时序注入, 漏洞报告, 爬虫, 白帽子, 红队, 网络安全, 网络安全测试, 蓝队分析, 跨站脚本攻击, 跨站请求伪造, 逆向工具, 错误探测, 隐私保护, 靶场