ec5589d71c254fdcf1474a2749f86f5ab71b72ee
深度XSS漏洞扫描器
这是一个全面的Web应用安全扫描工具,专注于检测XSS(跨站脚本)漏洞,同时也能够发现其他类型的Web安全漏洞。该工具支持多种扫描模式、不同级别的有效载荷和详细的漏洞报告。
功能特点
-
多种漏洞检测:
- XSS(反射型、存储型、DOM型)
- CSRF(跨站请求伪造)
- SQL注入
- LFI(本地文件包含)
- RFI(远程文件包含)
- SSRF(服务器端请求伪造)
- XXE(XML外部实体注入)
-
全面的扫描能力:
- 网站爬虫功能,自动发现可测试的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浏览器(如需浏览器测试)
安装步骤
- 克隆仓库:
git clone https://github.com/yourusername/xss-scanner.git
cd xss-scanner
- 安装依赖:
pip install -r requirements.txt
- 安装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攻击场景:
- 网页留言板获取cookie:检测表单提交中的XSS漏洞,可能导致cookie泄露
- CMS管理后台伪造钓鱼网站:检测URL参数中的XSS漏洞,可能用于伪造管理界面
- 图片处XSS攻击:检测图片参数和属性中的XSS漏洞
- SVG-XSS:检测SVG文件中的XML注入和XSS漏洞
- PDF-XSS:检测PDF参数中的XSS漏洞
- 浏览器翻译-XSS:检测浏览器翻译功能中的XSS漏洞
- Flash-XSS:检测Flash参数中的XSS漏洞
- XSS配合MSf钓鱼:检测可能用于钓鱼的XSS漏洞
- XSS漏洞配合CSRF漏洞:检测可能与CSRF组合的XSS漏洞
- 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)$"
安全和免责声明
此工具仅供安全研究和授权渗透测试使用。未经明确许可,对系统进行扫描可能违反法律。使用者需要:
- 只在自己拥有的系统上或获得明确授权的系统上使用
- 了解并遵守当地的网络安全法律和规定
- 负责任地披露发现的安全漏洞
贡献
欢迎贡献代码、报告bug或提出功能建议。请通过以下方式参与:
- Fork仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建Pull Request
许可证
本项目采用MIT许可证 - 详情请查看LICENSE文件。
联系方式
注意:此工具是为安全专业人员设计的,使用前请确保遵守所有适用的法律和法规。
Description
Languages
Python
100%