Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyPenetration - Web渗透测试框架

一个基于 Playwright 的 Web 应用被动安全扫描框架,专注于指纹识别、敏感信息检测和智能安全分析。

功能特性

核心功能

  • 全流量记录: 自动捕获并保存所有 HTTP/HTTPS 请求和响应
  • 指纹识别: 识别 Web 应用使用的 CMS、框架、中间件等技术栈
  • 敏感信息检测: 检测泄露的敏感信息(密钥、密码、Token 等)
  • AI 安全分析: 基于智谱 GLM-4.7 的智能安全分析和渗透建议

扫描模式

  • 单 URL 模式: 快速扫描单个目标
  • 批量模式: 从文件读取 URL 列表,串行扫描多个目标
  • 重试机制: 支持失败自动重试

检测规则

  • 100+ 种 CMS 指纹识别规则
  • 200+ 条敏感信息检测规则,包括:
    • 身份证、手机号、邮箱
    • API 密钥、Token、Session
    • 数据库连接字符串
    • 云服务商密钥(AWS、阿里云、腾讯云等)
    • Git Token、OAuth 凭证
    • 加解密调用、路径泄露

安装

环境要求

  • Python 3.8+
  • Windows/Linux/macOS

安装依赖

# 安装 Python 依赖

# 安装 Playwright 浏览器
playwright install chromium

快速开始

单 URL 扫描

# 基本扫描(无头模式)
python main.py -u https://example.com

# 显示浏览器窗口
python main.py -u https://example.com --no-headless

# 设置超时时间
python main.py -u https://example.com --timeout 120

# 禁用指纹识别
python main.py -u https://example.com --no-fingerprint

# 使用代理
python main.py -u https://example.com --proxy http://127.0.0.1:8080

批量扫描

# 从文件读取 URL 列表
python main.py -f url.txt

# 设置重试次数
python main.py -f url.txt --retries 3

URL 文件格式

创建 urls.txt 文件,每行一个 URL:

https://example1.com
https://example2.com
https://example3.com

配置说明

环境变量

创建 .env 文件或设置环境变量:

# 智谱 AI API 配置(用于 AI 分析功能)
export GLM_API_KEY="your_api_key_here"

输出结果

扫描结果保存在 results/ 目录下:

results/
├── {domain}_{hash}/
│   ├── requests/              # 所有 HTTP 请求记录
│   │   ├── GET__https_example.com.json
│   │   └── request_index.json  # 请求索引文件
│   ├── fingerprint/           # 指纹识别结果
│   │   └── fingerprint_report.html
│   └── sensitive/             # 敏感信息检测结果
│       └── sensitive_report.html
└── batch_summary_*.html       # 批量扫描汇总报告

AI 安全分析

扫描完成后,可使用 AI 分析器进行深度分析:

python -m ai.ai_analyzer

AI 分析报告包含:

  • 系统技术栈识别
  • 安全风险评估(高/中/低危)
  • 功能模块识别
  • 渗透测试建议
  • 攻击路径推荐

日志

日志文件保存在 logs/ 目录:

  • app_YYYY-MM-DD.log: 应用日志
  • error_YYYY-MM-DD.log: 错误日志
  • json_YYYY-MM-DD.log: JSON 格式日志

参数说明

参数 说明 默认值
-u, --url 单个 URL 扫描 -
-f, --file 批量扫描文件 -
--no-headless 显示浏览器 False
--timeout 超时时间(秒) 60
--retries 失败重试次数 1
--no-fingerprint 禁用指纹识别 -
--no-sensitive 禁用敏感信息检测 -
--output 输出目录 ./results
--proxy 代理服务器 -

项目结构

szz03/
├── main.py                    # 主入口
├── core/
│   └── engine.py              # 核心扫描引擎
├── browser/
│   └── browser.py             # 浏览器管理(Playwright)
├── modules/
│   ├── fingerprint.py         # 指纹识别
│   └── sensitive_detector.py  # 敏感信息检测
├── ai/
│   └── ai_analyzer.py         # AI 安全分析
├── config/
│   └── settings.py            # 配置管理
├── utils/
│   ├── logger.py              # 日志管理
│   └── save_result.py         # 结果保存
├── data/
│   └── finger.json            # 指纹规则库
├── logs/                      # 日志目录
└── results/                   # 扫描结果

注意事项

⚠️ 重要提示

  1. 本工具仅供学习和授权渗透测试使用
  2. 请勿在未获得授权的情况下扫描任何目标
  3. 使用代理时注意保护自己的隐私
  4. AI 分析功能需要配置智谱 API Key
  5. 批量扫描建议设置合理的超时时间和重试次数

依赖项

  • playwright: 浏览器自动化
  • loguru: 日志管理
  • zhipuai: 智谱 AI SDK

许可证

本项目仅供学习和研究使用。

免责声明

使用者应对使用本工具的行为负责。开发者不对因滥用本工具造成的任何后果负责。请仅在获得授权的环境中使用。

更新日志

v1.0.0 (2024-01-08)

  • 初始版本发布
  • 支持指纹识别、敏感信息检测
  • 集成 AI 安全分析
  • 支持单 URL 和批量扫描

About

Web渗透测试框架 - 指纹识别、敏感信息检测、AI安全分析

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages