Amirmuhammadmarvi/web-vuln-scanner

GitHub: Amirmuhammadmarvi/web-vuln-scanner

一款用于检测XSS和SQL注入漏洞的Python CLI工具。

Stars: 0 | Forks: 0

# 🔍 网络漏洞扫描器 **一个基于 CLI 的 Python 工具,用于检测 XSS 和 SQL 注入漏洞** [![Python](https://img.shields.io/badge/Python-3.8+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://python.org) [![许可证](https://img.shields.io/badge/License-MIT-E8FF47?style=for-the-badge)](LICENSE) [![安全](https://img.shields.io/badge/Purpose-Security%20Research-red?style=for-the-badge)]() [![状态](https://img.shields.io/badge/Status-Complete-brightgreen?style=for-the-badge)]() ## 📋 概述 一个轻量级、模块化的安全工具,通过向 URL 参数中注入有效载荷并分析服务器响应来检测常见的网络漏洞。旨在展示实用的安全工具和现实世界的攻击模拟。 **支持检测:** - ⚡ **XSS** (跨站脚本) — 通过有效载荷反射分析 - 💉 **SQL 注入** — 通过 MySQL、PostgreSQL、MSSQL、SQLite 和 Oracle 的数据库错误签名匹配 ## ✨ 功能 - 🧩 **模块化架构** — 4 个独立的组件,易于扩展 - 📦 **外部有效载荷文件** — 30 多个真实世界的 XSS 和 SQLi 字符串,可完全自定义 - 🗄 **JSON 报告生成** — 自动保存带时间戳的审计跟踪 - 🖥 **干净的 CLI 界面** — 使用 `argparse` 构建,直观的标志 - 🔍 **多数据库 SQLi 检测** — MySQL、PostgreSQL、MSSQL、SQLite、Oracle 的错误签名 - ✅ **Burp Suite 验证** — 通过 Repeater 手动验证结果以减少误报 ## 🗂 项目结构 ``` web-vuln-scanner/ ├── cli.py # Entry point — argument parsing and orchestration ├── scanner.py # Core scanning logic (XSS + SQLi detection) ├── reporter.py # Terminal output and JSON report generation ├── utils.py # HTTP requests and payload loading utilities ├── payloads/ │ ├── xss.txt # XSS payload list (30+ strings) │ └── sqli.txt # SQL Injection payload list (30+ strings) ├── requirements.txt └── README.md ``` ## 🚀 入门 ### 前置条件 - Python 3.8+ - pip ### 安装 ``` git clone https://github.com/Amirmuhammadmarvi/web-vuln-scanner.git cd web-vuln-scanner pip install -r requirements.txt ``` ## 💻 使用 **基本扫描:** ``` python3 cli.py --url "http://testsite.com/page?id=1" ``` **扫描并保存 JSON 报告:** ``` python3 cli.py --url "http://testsite.com/page?id=1" --report ``` **自定义有效载荷文件:** ``` python3 cli.py --url "http://testsite.com/page?id=1" \ --xss-payloads payloads/xss.txt \ --sqli-payloads payloads/sqli.txt \ --report ``` ## 📊 示例输出 ``` ╔══════════════════════════════════════╗ ║ Web Vulnerability Scanner ║ ║ For Educational Use Only ║ ╚══════════════════════════════════════╝ [*] Target: http://testsite.com/page?id=1 [*] Starting XSS scan... [+] Loaded 30 payloads from payloads/xss.txt [VULNERABLE] XSS detected → [safe] Payload not reflected → [*] Starting SQLi scan... [+] Loaded 30 payloads from payloads/sqli.txt [VULNERABLE] SQLi detected | signature: "you have an error in your sql syntax" [safe] No error signature found → ' OR 1=1 -- ══════════════════════════════════════════════ SCAN REPORT ══════════════════════════════════════════════ Target : http://testsite.com/page?id=1 Time : 2025-05-04 17:00:00 Total : 2 vulnerability(s) found ══════════════════════════════════════════════ [+] Report saved → reports/scan_20250504_170000.json ``` ## ⚙️ 工作原理 ``` URL Input │ ▼ Parse Parameters ──► For each parameter: │ ┌─────┴──────┐ ▼ ▼ XSS Check SQLi Check (reflection (error sig analysis) matching) │ │ └─────┬──────┘ ▼ JSON Report Output ``` 1. **解析** — 从目标 URL 中提取所有查询参数 2. **注入** — 将每个参数值替换为有效载荷文件中的有效载荷 3. **XSS 检查** — 如果有效载荷在响应体中反射出现 → 标记为漏洞 4. **SQLi 检查** — 扫描响应以查找已知的数据库错误字符串(MySQL、PostgreSQL、MSSQL、SQLite、Oracle) 5. **报告** — 将结果打印到终端;如果使用 `--report` 标志,则保存为带时间戳的 JSON 文件 ## 🛡 验证方式 此工具的结果通过 **Burp Suite Repeater** 手动验证,以确认漏洞行为并消除误报,然后再进行报告。 ## ⚠️ 法律免责声明 此工具仅用于 **教育目的和授权的安全测试**。 不要用于不属于您或您没有 **明确书面许可** 测试的系统。 未经授权的使用是非法和不道德的。作者对误用不承担任何责任。
**作者:[Amir Mohammad Marwi](https://amirmohammadmarwi.vercel.app)** [![作品集](https://img.shields.io/badge/Portfolio-amirmohammadmarwi.vercel.app-E8FF47?style=flat-square)](https://amirmohammadmarwi.vercel.app) [![领英](https://img.shields.io/badge/LinkedIn-amir--mohammad--marwi-0A66C2?style=flat-square&logo=linkedin)](https://linkedin.com/in/amir-mohammad-marwi) [![GitHub](https://img.shields.io/badge/GitHub-Amirmuhammadmarvi-181717?style=flat-square&logo=github)](https://github.com/Amirmuhammadmarvi)
标签:JSON报告, Python 3.8+, SQL注入检测, Web安全, XSS检测, 响应分析, 攻击模拟, 文档结构分析, 模块化设计, 网络安全, 自动化修复, 蓝队分析, 逆向工具, 隐私保护, 驱动签名利用