2025-03-09 13:50:58 +08:00
2025-03-09 13:49:12 +08:00
2025-03-09 13:50:58 +08:00
2025-03-09 13:49:12 +08:00

深度XSS漏洞扫描器

这是一个全面的Web应用安全扫描工具专注于检测XSS跨站脚本漏洞同时也能够发现其他类型的Web安全漏洞。该工具支持多种扫描模式、不同级别的有效载荷和详细的漏洞报告。

功能特点

  • 多种漏洞检测

    • XSS反射型、存储型、DOM型
    • CSRF跨站请求伪造
    • SQL注入
    • LFI本地文件包含
    • RFI远程文件包含
    • SSRF服务器端请求伪造
    • XXEXML外部实体注入
  • 全面的扫描能力

    • 网站爬虫功能自动发现可测试的URL
    • 表单和参数自动检测
    • 支持DOM分析
    • 支持不同测试级别(快速、标准、深度)
    • 支持多线程扫描
  • 网页技术识别

    • 自动识别目标网站使用的编程语言PHP、ASP.NET、Java、Python等
    • 检测前端框架React、Vue、Angular、jQuery等
    • 识别Web服务器类型Apache、Nginx、IIS等
    • 识别CMS系统WordPress、Joomla、Drupal等
    • 框架版本指纹识别
  • 高级WAF绕过功能

    • 自动检测目标是否启用Web应用防火墙(WAF)
    • 识别WAF类型如Cloudflare、ModSecurity、AWS WAF等
    • 自动调整有效载荷以绕过WAF检测
    • 多种绕过技术(编码变异、分段注入、定时执行等)
    • 自适应绕过策略根据WAF反应调整攻击向量
  • 高级功能

    • 有效载荷自动绕过WAF
    • 支持自定义有效载荷
    • 基于浏览器的漏洞验证
    • 支持漏洞利用
    • 支持代理和认证
  • 详细报告

    • 多种报告格式HTML、JSON、XML、TXT
    • 详细的漏洞信息和修复建议
    • 风险评级
    • 网站技术栈分析报告

安装

要求

  • Python 3.7+
  • Chrome浏览器如需浏览器测试

安装步骤

  1. 克隆仓库:
git clone https://github.com/yourusername/xss-scanner.git
cd xss-scanner
  1. 安装依赖:
pip install -r requirements.txt
  1. 安装ChromeDriver如需浏览器测试
# Windows使用以下命令
pip install webdriver-manager

# Linux可能需要安装Chrome
# sudo apt-get install google-chrome-stable

使用方法

基本用法

python main.py -u https://example.com

更多示例

扫描单个URL

python main.py -u https://example.com

扫描多个URL

python main.py -f targets.txt

深度扫描

python main.py -u https://example.com --scan-level 3

只扫描XSS漏洞

python main.py -u https://example.com --scan-type xss

使用浏览器进行DOM XSS检测

python main.py -u https://example.com --browser

利用发现的漏洞

python main.py -u https://example.com --exploit

生成HTML报告

python main.py -u https://example.com -o report.html --format html

使用代理

python main.py -u https://example.com --proxy http://127.0.0.1:8080

命令行参数

必选参数:
  -u, --url URL              目标URL
  -f, --file FILE            包含目标URL的文件

可选参数:
  -d, --depth DEPTH          爬虫深度 (默认: 2)
  -t, --threads THREADS      线程数 (默认: 5)
  --timeout TIMEOUT          请求超时时间 (默认: 10秒)
  --user-agent USER_AGENT    自定义User-Agent
  --cookie COOKIE            请求Cookie
  --headers HEADERS          自定义HTTP头
  --proxy PROXY              HTTP代理
  --scan-level {1,2,3}       扫描级别: 1-快速, 2-标准, 3-深度 (默认: 2)
  --scan-type {all,xss,csrf,sqli,lfi,rfi,ssrf,xxe}
                             扫描类型 (默认: all)
  --payload-level {1,2,3}    Payload复杂度: 1-基础, 2-标准, 3-高级 (默认: 2)
  -o, --output OUTPUT        输出报告文件
  --format {txt,html,json,xml}
                             报告格式 (默认: html)
  -v, --verbose              显示详细输出
  --no-color                 禁用彩色输出

高级选项:
  --browser                  使用真实浏览器进行扫描
  --exploit                  尝试利用发现的漏洞
  --custom-payloads FILE     自定义Payload文件
  --exclude REGEX            排除URL模式 (正则表达式)
  --include REGEX            仅包含URL模式 (正则表达式)
  --auth USER:PASS           基本认证

XSS漏洞案例

扫描器能够检测以下XSS攻击场景

  1. 网页留言板获取cookie检测表单提交中的XSS漏洞可能导致cookie泄露
  2. CMS管理后台伪造钓鱼网站检测URL参数中的XSS漏洞可能用于伪造管理界面
  3. 图片处XSS攻击检测图片参数和属性中的XSS漏洞
  4. SVG-XSS检测SVG文件中的XML注入和XSS漏洞
  5. PDF-XSS检测PDF参数中的XSS漏洞
  6. 浏览器翻译-XSS检测浏览器翻译功能中的XSS漏洞
  7. Flash-XSS检测Flash参数中的XSS漏洞
  8. XSS配合MSf钓鱼检测可能用于钓鱼的XSS漏洞
  9. XSS漏洞配合CSRF漏洞检测可能与CSRF组合的XSS漏洞
  10. XSS漏洞配合越权漏洞检测可能导致权限提升的XSS漏洞

进阶用法

自定义有效载荷

创建一个文本文件每行包含一个XSS有效载荷然后使用--custom-payloads参数:

python main.py -u https://example.com --custom-payloads my_payloads.txt

漏洞利用

使用--exploit参数启用漏洞利用功能:

python main.py -u https://example.com --exploit

当发现漏洞时,扫描器将尝试进一步利用该漏洞,例如:

  • XSS漏洞尝试窃取cookie或会话信息
  • SQL注入尝试提取数据库信息
  • 文件包含:尝试读取敏感文件

限制扫描范围

使用正则表达式包含或排除特定URL

# 只扫描/admin/路径下的URL
python main.py -u https://example.com --include "^https://example.com/admin/.*"

# 排除静态资源
python main.py -u https://example.com --exclude "\.(jpg|css|js|png|gif)$"

安全和免责声明

此工具仅供安全研究和授权渗透测试使用。未经明确许可,对系统进行扫描可能违反法律。使用者需要:

  1. 只在自己拥有的系统上或获得明确授权的系统上使用
  2. 了解并遵守当地的网络安全法律和规定
  3. 负责任地披露发现的安全漏洞

贡献

欢迎贡献代码、报告bug或提出功能建议。请通过以下方式参与

  1. Fork仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建Pull Request

许可证

本项目采用MIT许可证 - 详情请查看LICENSE文件。

联系方式


注意:此工具是为安全专业人员设计的,使用前请确保遵守所有适用的法律和法规。

Description
No description provided
Readme 199 KiB
Languages
Python 100%