# Website Security Scanner **Repository Path**: ereddate2017/website-security-scanner ## Basic Information - **Project Name**: Website Security Scanner - **Description**: 一个基于 Python 的**四层**网站安全扫描工具,专为安全专业人员设计。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-25 - **Last Updated**: 2026-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Website Security Scanner(网站安全扫描器) ![Python 版本](https://img.shields.io/badge/python-3.7%2B-blue.svg) ![许可证](https://img.shields.io/badge/license-MIT-green.svg) ![版本](https://img.shields.io/badge/version-1.0.0-orange.svg) 一个基于 Python 的**四层**网站安全扫描工具,专为安全专业人员设计。 --- ## 🎯 功能特点 ### 🔍 四层扫描架构 | 层级 | 名称 | 描述 | | ---------- | ------------ | --------------------------------------------------------------------- | | **第一层** | 信息收集 | 端口扫描、目录枚举、服务器指纹识别、CMS检测 | | **第二层** | 漏洞检测 | 11种漏洞类型,包括SQL注入、XSS、CSRF、路径遍历、文件上传、XXE、SSRF等 | | **第三层** | 配置安全检查 | HTTP安全头、SSL/TLS配置、安全配置错误 | | **第四层** | 敏感信息检测 | 敏感文件、API密钥、HTML注释、备份文件 | ### 🔒 友好扫描模式 设计为**安全扫描友好型**,避免被目标网站阻止或标记为恶意攻击: - 自定义 User-Agent 标识 (`SecurityScanner/1.0.0`) - 可配置的请求速率限制 - 自定义扫描目的头信息 (`X-Scanner-Purpose`, `X-Scanner-Info`) - 扫描前检查 robots.txt 合规性 - 随机请求延迟(1-3秒) ### 🛡️ 漏洞检测覆盖 | 漏洞类型 | 严重程度 | 描述 | | ------------ | -------- | ----------------------- | | SQL 注入 | 🔴 高危 | 检测参数中的SQL注入漏洞 | | XSS | 🟠 中危 | 跨站脚本检测 | | CSRF | 🟠 中危 | 跨站请求伪造检测 | | 命令注入 | 🔴 高危 | 操作系统命令注入检测 | | 目录遍历 | 🔴 高危 | 路径遍历漏洞检测 | | 文件上传 | 🔴 高危 | 恶意文件上传检测 | | 弱密码 | 🔴 高危 | 常见弱密码检测 | | XXE 注入 | 🔴 高危 | XML外部实体注入 | | SSRF | 🔴 高危 | 服务器端请求伪造 | | 反序列化 | 🔴 高危 | 不安全反序列化检测 | | 身份认证绕过 | 🔴 高危 | 身份认证绕过检测 | ### 📊 报告生成 - JSON 格式报告 - 详细漏洞信息 - 严重程度评级(高危/中危/低危) - 修复建议 - 扫描时间戳 - 目标信息 --- ## 🚀 安装 ```bash # 克隆仓库 git clone cd website-security-scanner # 安装依赖 pip install -r requirements.txt ``` ### 依赖要求 - Python 3.7+ - `requests` - HTTP 请求 - `beautifulsoup4` - HTML 解析 - `colorama` - 彩色输出 - `termcolor` - 终端颜色 --- ## 📖 使用方法 ### 基础扫描 ```bash python main.py http://目标网站.com ``` ### 指定扫描层级 ```bash # 只扫描漏洞检测(第二层) python main.py http://目标网站.com -l 2 # 扫描多个层级 python main.py http://目标网站.com -l 1,2,3 # 扫描所有层级(默认) python main.py http://目标网站.com -l 1,2,3,4 ``` ### 命令行选项 ```bash python main.py [选项] <目标URL> 选项: -l, --layers 指定扫描层级(逗号分隔,如 1,2,3) -s, --skip-disclaimer 跳过法律声明 --show-config 显示当前配置 --help 显示帮助信息 ``` ### 显示配置 ```bash python main.py --show-config ``` --- ## ⚙️ 配置 所有扫描参数均可通过 `config.ini` 自定义: ```ini [scan] default_target = http://localhost:5000 default_layers = 1,2,3,4 timeout = 15 [friendly_scan] min_delay = 1.0 max_delay = 3.0 max_requests_per_minute = 30 user_agent = SecurityScanner/1.0.0 [vulnerability] enable_sql_injection = true enable_xss = true enable_path_traversal = true enable_file_upload = true enable_weak_password = true enable_xxe = true enable_ssrf = true enable_deserialization = true enable_auth_bypass = true [report] output_directory = ./reports show_console_report = true include_suggestions = true ``` ### 配置选项说明 | 配置节 | 选项 | 描述 | | ----------------- | ------------------------- | --------------------- | | `[scan]` | `default_target` | 默认目标URL | | `[scan]` | `default_layers` | 默认扫描层级 | | `[scan]` | `timeout` | 请求超时时间(秒) | | `[friendly_scan]` | `min_delay` | 最小请求延迟 | | `[friendly_scan]` | `max_delay` | 最大请求延迟 | | `[friendly_scan]` | `max_requests_per_minute` | 速率限制 | | `[vulnerability]` | `enable_*` | 启用/禁用特定漏洞检测 | | `[report]` | `output_directory` | 报告输出目录 | --- ## 🧪 测试服务器 内置测试服务器用于测试和演示: ```bash cd test_server python app.py ``` **测试服务器端点:** | 端点 | 描述 | | ------------------------ | ---------------- | ----- | ------------ | | `/` | 首页 | | `/set-level?level=low | medium | high` | 设置安全级别 | | `/randomize` | 随机化漏洞状态 | | `/security-status` | 查看当前安全配置 | | `/file-view?file=` | 路径遍历测试 | | `/upload` | 文件上传测试 | | `/xxe-test` | XXE注入测试 | | `/fetch-url?url=` | SSRF测试 | | `/deserialize` | 反序列化测试 | | `/auth-test` | 身份认证绕过测试 | **安全级别:** - **低 (Low)**: 所有漏洞启用 - **中 (Medium)**: 部分漏洞启用 - **高 (High)**: 最小漏洞启用 --- ## 📁 项目结构 ``` website-security-scanner/ ├── main.py # 主入口文件 ├── config.ini # 配置文件 ├── requirements.txt # 依赖列表 ├── reports/ # 扫描报告目录 ├── scanner/ │ ├── __init__.py │ ├── config.py # 配置管理器 │ ├── friendly_scan.py # 友好扫描工具 │ ├── info_gathering.py # 第一层:信息收集 │ ├── vulnerability_scanner.py # 第二层:漏洞检测 │ ├── config_checker.py # 第三层:配置检查 │ ├── sensitive_info.py # 第四层:敏感信息检测 │ ├── progress_bar.py # 进度条工具 │ ├── fix_suggestions.py # 修复建议数据库 │ └── data/ │ ├── directories.txt # 目录字典 │ └── sensitive_files.txt # 敏感文件列表 └── test_server/ └── app.py # 测试服务器应用 ``` --- ## 📝 示例报告输出 ```json { "scan_time": "2024-01-15 10:30:00", "target": "http://localhost:5000", "total_vulnerabilities": 3, "vulnerabilities": [ { "type": "目录遍历", "url": "http://localhost:5000/file-view", "parameter": "file", "payload": "../../etc/passwd", "severity": "高危", "suggestion": "使用路径规范化并对照允许路径的白名单验证用户输入。" } ], "scan_summary": { "layer_1_completed": true, "layer_2_completed": true, "layer_3_completed": true, "layer_4_completed": true, "total_time": "2 minutes 30 seconds" } } ``` --- ## 🔗 OpenClaw 平台集成 本工具为 OpenClaw 平台提供了**技能接口**,允许与 OpenClaw 生态系统无缝集成。 ### 技能信息 | 属性 | 值 | | ------------ | ------------------------------------ | | **技能名称** | `openclaw` | | **技能路径** | `.trae/skills/openclaw/SKILL.md` | | **用途** | 为 OpenClaw 平台提供网站安全扫描功能 | ### 集成详情 `openclaw` 技能作为**桥梁**连接独立安全扫描器和 OpenClaw 平台: 1. **技能结构**: ``` .trae/ └── skills/ └── openclaw/ └── SKILL.md ``` 2. **技能描述**: ```markdown --- name: "openclaw" description: "Website Security Scanner Skill - Provides an interface for OpenClaw platform to invoke a standalone website security scanning tool." --- ``` 3. **调用方式**: - 当用户请求网站安全扫描时,OpenClaw 平台可以调用此技能 - 技能以编程方式调用底层扫描器 - 结果返回给 OpenClaw 平台进行展示 ### 通过 OpenClaw 使用 当本工具与 OpenClaw 集成时: - 用户可以通过 OpenClaw 界面请求网站安全扫描 - 平台自动调用本工具的扫描功能 - 扫描结果在 OpenClaw 平台界面中显示 **注意**:本工具作为独立应用程序完全功能齐全,不需要 OpenClaw 即可运行。 --- ## 🔗 Hermes 平台集成 本工具同样为 Hermes 平台提供了**技能接口**,允许与 Hermes 生态系统无缝集成。 ### 技能信息 | 属性 | 值 | | ------------ | ---------------------------------- | | **技能名称** | `hermes` | | **技能路径** | `.trae/skills/hermes/SKILL.md` | | **用途** | 为 Hermes 平台提供网站安全扫描功能 | ### 集成详情 `hermes` 技能作为**桥梁**连接独立安全扫描器和 Hermes 平台: 1. **技能结构**: ``` .trae/ └── skills/ └── hermes/ └── SKILL.md ``` 2. **技能描述**: ```markdown --- name: "hermes" description: "Website Security Scanner Skill - Provides an interface for Hermes platform to invoke a standalone website security scanning tool." --- ``` 3. **调用方式**: - 当用户请求网站安全扫描时,Hermes 平台可以调用此技能 - 技能以编程方式调用底层扫描器 - 结果返回给 Hermes 平台进行展示 ### 通过 Hermes 使用 当本工具与 Hermes 集成时: - 用户可以通过 Hermes 界面请求网站安全扫描 - 平台自动调用本工具的扫描功能 - 扫描结果在 Hermes 平台界面中显示 **注意**:本工具作为独立应用程序完全功能齐全,不需要 Hermes 即可运行。 --- ## ⚠️ 法律警告 **重要提示:** 仅扫描您拥有或获得**明确书面许可**的网站。未经授权扫描网站可能违反您所在国家或地区的法律,包括美国的《计算机欺诈和滥用法案》(CFAA)。 本工具仅用于**道德安全测试**和**教育目的**。作者不对本工具的任何误用或造成的损害负责。 --- ## 📄 许可证 MIT License - 详见 LICENSE 文件。 --- ## 🤝 贡献 欢迎贡献!请随时提交问题和拉取请求。 --- **免责声明:** 本工具仅供教育目的使用。在扫描任何系统前,请务必获得适当授权。