fatimasaher908/WebInspect

GitHub: fatimasaher908/WebInspect

一款基于 Python 的教育型 CLI Web 漏洞扫描器,用于自动化检测 SQL 注入、反射型 XSS 及安全标头配置问题并生成报告。

Stars: 0 | Forks: 0

# 🔍 WebInspect

WebInspect Banner

一个基于 Python 的 CLI Web 应用程序漏洞扫描器
出于教育目的开发,用于自动化检测常见的 Web 应用程序安全漏洞。

## 📖 概述 **WebInspect** 是一个使用 Python 编写的轻量级**命令行界面 (CLI)** Web 应用程序漏洞扫描器。 该扫描器会登录到目标 DVWA 实例,对应用程序进行爬取,分析 HTTP 安全标头,执行 SQL 注入和反射型跨站脚本攻击 (XSS) 测试,计算总体安全风险,并自动生成详细的安全报告。 该项目是作为一个教育性网络安全项目开发的,旨在演示基本 Web 漏洞评估技术的实现。 # ✨ 功能 - 🔐 自动身份验证 - 🕷️ Web 爬取 - 📄 HTML 表单发现 - 🛡️ 安全标头分析 - 💉 SQL 注入检测 - ⚠️ 反射型 XSS 检测 - 📊 风险评估 - 📑 自动报告生成 - 🎨 彩色 CLI 输出 # 🧩 项目模块 ## 🔐 身份验证模块 使用有效的凭据自动登录 DVWA,同时处理 CSRF 保护 token。 **职责** - 对用户进行身份验证 - 维护会话 - 处理 CSRF Token - 将 DVWA 安全级别设置为 **LOW** ## 🕷️ Web 爬虫模块 扫描目标网页并发现可用的链接和 HTML 表单。 显示: - 链接总数 - 表单总数 - 表单动作 - 表单方法 - 输入字段 ## 🛡️ 安全标头分析器 检查是否存在重要的 HTTP 安全标头。 扫描器验证: - Content-Security-Policy - X-Frame-Options - X-Content-Type-Options - Strict-Transport-Security - Referrer-Policy - Permissions-Policy 缺失的标头将显示在终端中,并包含在生成的报告中。 ## 💉 SQL 注入扫描器 使用安全的 payload 对 DVWA 的 SQL 注入模块执行 SQL 注入测试。 示例 payload: ``` ' OR '1'='1 ``` 如果存在漏洞,扫描器将显示: - 存在漏洞的 URL - 使用的 payload - 检测状态 ## ⚠️ 反射型 XSS 扫描器 使用常见的 JavaScript payload 执行反射型跨站脚本攻击 (XSS) 测试。 示例 payload: ``` ``` 如果 payload 被应用程序反射回来,扫描器将报告: - 存在漏洞的 URL - 使用的 payload - 检测状态 ## 📊 风险评估 根据检测到的漏洞,WebInspect 会计算总体风险级别。 | 发现的漏洞 | 风险 | |------------------------|------| | 无 | 🟢 低 | | SQL 注入或 XSS | 🔴 高 | | SQL 注入 + XSS | 🚨 严重 | ## 📑 报告生成器 每次扫描后,WebInspect 都会自动生成一份报告。 位置: ``` reports/report.txt ``` 报告包含: - 目标 URL - 身份验证状态 - 发现的链接 - 缺失的安全标头 - SQL 注入结果 - 反射型 XSS 结果 - 总体风险级别 - 扫描持续时间 # 🛠️ 使用的技术 | 技术 | 用途 | |------------|---------| | Python | 编程语言 | | Requests | HTTP 请求 | | BeautifulSoup4 | HTML 解析 | | Colorama | 彩色 CLI 输出 | # 📂 项目结构 ``` WebInspect/ │ ├── scanners/ │ ├── auth.py │ ├── crawler.py │ ├── headers.py │ ├── sqli.py │ └── xss.py │ ├── reports/ │ ├── report.py │ └── report.txt │ ├── screenshots/ │ ├── image.png │ ├── image2.png │ ├── image3.png │ ├── image4.png │ ├── image5.png │ ├── image6.png │ └── image7.png │ ├── utils/ │ ├── main.py ├── requirements.txt ├── README.md └── .gitignore ``` # 🚀 安装说明 克隆仓库 ``` git clone https://github.com/YOUR_USERNAME/WebInspect.git ``` 进入项目 ``` cd WebInspect ``` 创建虚拟环境 ``` python -m venv venv ``` 激活环境 ### Windows ``` venv\Scripts\activate ``` ### Linux/macOS ``` source venv/bin/activate ``` 安装依赖项 ``` pip install -r requirements.txt ``` # ▶️ 使用说明 运行扫描器 ``` python main.py --url http://TARGET_URL/ ``` 示例 ``` python main.py --url http://192.168.56.102/dvwa/ ``` 或 ``` python main.py --url http://192.168.56.102/dvwa/security.php ``` # 📸 示例输出 ## 身份验证 ## Web 爬虫 ## 安全标头分析 ## SQL 注入检测 ## 反射型 XSS 检测 ## 最终扫描摘要 # 📋 示例报告 每次成功扫描后,WebInspect 会自动创建: ``` reports/report.txt ``` 报告包含: - 目标信息 - 身份验证状态 - 漏洞摘要 - 缺失的标头 - SQL 注入结果 - 反射型 XSS 结果 - 风险级别 - 扫描时间 # ⚠️ 局限性 该项目目前支持: - DVWA (Damn Vulnerable Web Application) - 反射型 XSS 检测 - 基本的 SQL 注入检测 - 安全标头分析 它旨在作为一个教育性质的漏洞扫描器,**不能**替代专业的安全评估工具,例如 Burp Suite、OWASP ZAP 或 Nessus。 # 🔮 未来改进 潜在的未来增强功能包括: - 存储型 XSS 检测 - 基于 DOM 的 XSS 检测 - CSRF 扫描器 - 命令注入扫描器 - 文件包含扫描器 - 目录枚举 - 多线程爬取 - HTML/PDF 报告生成 - JSON 报告导出 - 进度条 - 基于 Plugin 的架构 # 👨‍💻 作者 **Fatima Aziz** 网络安全学生 # 📄 许可证 该项目基于 MIT 许可证授权。 # ⚠️ 免责声明 该项目严格仅供**教育目的**使用。 它仅应在您拥有或获得明确授权进行测试的系统上使用。 作者不对该软件的任何滥用行为负责。
标签:CISA项目, DOE合作, Python, SQL注入检测, Web安全, XSS检测, 字符串匹配, 无后门, 蓝队分析, 逆向工具