Rishikesh-M/Thom
GitHub: Rishikesh-M/Thom
一款基于 Python 的自动化 Web 应用漏洞扫描器,通过主动安全评估检测 OWASP Top 10 等常见漏洞并生成结构化报告。
Stars: 0 | Forks: 0
# Thom - 自定义漏洞扫描器
一个基于 Python 的自动化漏洞扫描器,旨在通过执行一系列智能安全评估来识别 Web 应用程序中的常见安全弱点。该项目旨在为安全研究人员、开发人员、学生和渗透测试人员提供一个轻量级且可扩展的平台,用于评估 Web 应用程序的安全状况,同时促进安全开发实践。
与仅依赖特征匹配的传统漏洞扫描器不同,此扫描器通过发送精心构造的 HTTP 请求、分析服务器响应、识别不安全配置以及根据响应行为检测漏洞,对目标应用程序执行主动测试。
该扫描器专注于自动化检测常见的 Web 应用程序漏洞,同时保持模块化架构,允许以最小的工作量添加新的漏洞模块。
# 概述
现代 Web 应用程序暴露了大量的攻击面,包括用户输入、身份验证机制、API、cookie、header 和服务器配置。手动对每个组件进行安全测试可能既重复又耗时。
该项目通过爬取应用程序、收集 endpoint、分析请求/响应模式以及对发现的资源执行特定于漏洞的测试,从而实现了发现过程的自动化。
每个漏洞模块独立运行,使得扫描器具有高度的可扩展性且易于维护。该架构支持未来集成更多的漏洞检查、报告引擎和自动修复建议。
# 要求与使用
```
pip install requests beautifulsoup4
python3 vuln_scanner.py https://your-target.com --i-have-authorization
```
# 目标
- 自动化 Web 应用程序安全评估
- 检测常见的 OWASP Top 10 漏洞
- 减少重复的手动测试
- 提供结构化的漏洞报告
- 支持模块化漏洞检测
- 通过自定义安全模块实现未来扩展
- 提高安全开发意识
- 在安全 SDLC 期间协助开发人员
- 作为教育性渗透测试框架
# 核心功能
## 智能网站爬取
扫描器会自动发现整个目标应用程序中可用的页面、表单、endpoint、参数和资源。在开始漏洞评估之前,会递归探索内部链接,以最大程度地扩大应用程序的覆盖范围。
## Endpoint 枚举
收集到的 URL 会根据以下内容进行分类和分析:
- 查询参数
- HTTP 方法
- 表单
- 登录页面
- 文件上传位置
- API endpoint
- 隐藏资源
- 静态资源
这允许进行针对性的测试,而不是随机注入 payload。
## HTTP 请求分析
每个请求和响应都会被分析,以提取有用的信息,包括:
- 响应码
- 服务器 header
- 安全 header
- 重定向链
- Cookie
- 使用的技术
- 内容类型
- Session 信息
- 响应时间
- 身份验证状态
## 漏洞检测引擎
扫描器使用专用的模块针对每个漏洞类别执行主动安全测试。每个模块与其他模块相互隔离,允许进行独立的更新和维护。
该检测引擎会分析:
- HTTP 响应
- 错误信息
- 反射点
- 参数行为
- 服务器配置
- 身份验证机制
- Cookie 属性
- Header 值
- 响应差异
## 自动化报告
完成评估后,扫描结果将合并为一份结构化的报告,其中包含漏洞信息、受影响的 endpoint、严重性分类、技术描述和修复指南。
这些报告旨在协助开发人员和安全专业人员进行修复。
# 涵盖的漏洞
该扫描器旨在检测常见的漏洞,包括:
- SQL 注入 (SQLi)
- 跨站脚本攻击 (XSS)
- 跨站请求伪造 (CSRF)
- 服务器端请求伪造 (SSRF)
- 本地文件包含 (LFI)
- 远程文件包含 (RFI)
- 命令注入
- 目录遍历
- 开放重定向
- XML 外部实体 (XXE)
- 不安全的直接对象引用 (IDOR)
- 身份验证弱点
- Session 管理问题
- 缺失的安全 header
- Cookie 安全配置错误
- 信息泄露
- 敏感数据暴露
- 弱 HTTP 方法
- 点击劫持
- 目录列出
- 备份文件暴露
- 调试 endpoint 暴露
- 默认凭据检测
- 错误配置的 CORS 策略
# OWASP Top 10 对齐
该扫描器以 OWASP Top 10 作为主要参考进行设计,涵盖以下类别:
- 失效的访问控制
- 加密失败
- 注入
- 不安全的设计
- 安全配置错误
- 易受攻击的组件
- 身份识别和身份验证失败
- 软件和数据完整性失败
- 安全日志记录和监控失败
- 服务器端请求伪造 (SSRF)
# 扫描器工作流程
评估过程遵循多个阶段:
1. 目标验证
2. 主机识别
3. 网站爬取
4. Endpoint 发现
5. 参数收集
6. 技术指纹识别
7. 漏洞扫描
8. 安全 Header 分析
9. Session 分析
10. 报告生成
此工作流程确保了系统化且全面的安全测试。
# 模块化架构
该项目遵循模块化设计,其中每个组件负责单一任务。
典型的模块包括:
- 爬虫
- HTTP 引擎
- URL 管理器
- Payload 生成器
- 漏洞模块
- 身份验证处理器
- Cookie 分析器
- Header 分析器
- 报告生成器
- 日志引擎
- 配置管理器
这种分离简化了维护,并实现了未来的功能扩展。
# 安全分析
在扫描期间,引擎会评估多个安全方面,包括:
- 输入验证
- 参数处理
- 请求过滤
- 错误处理
- Session 保护
- 身份验证机制
- 授权控制
- 服务器指纹识别
- Cookie 配置
- HTTP Header 安全
- 重定向行为
- 文件处理
- API 安全
# 报告
生成的报告旨在提供清晰且可操作的安全洞察。每个检测到的问题通常包括:
- 漏洞名称
- 严重级别
- 受影响的 endpoint
- 技术描述
- 潜在影响
- 收集到的证据
- 建议的缓解措施
该报告结构旨在支持安全审计和修复工作流程。
# 可扩展性
该扫描器在设计时充分考虑了可扩展性。可以在不修改现有核心架构的情况下集成新功能。未来的增强功能可能包括:
- 额外的 OWASP 漏洞模块
- API 安全测试
- GraphQL 评估
- JWT 安全分析
- OAuth 测试
- 子域名枚举
- 云配置分析
- 容器安全检查
- CI/CD pipeline 集成
- 持续安全监控
- 基于 plugin 的架构
- 仪表板和分析
- 风险评分引擎
- AI 辅助的漏洞优先级排序
# 教育目的
该项目既是一个实用的安全评估框架,也是一个用于了解 Web 应用程序安全的教育资源。它演示了自动化漏洞扫描器如何识别常见的弱点,同时鼓励负责任的安全测试实践。
该扫描器旨在用于授权的安全评估、学习环境、夺旗赛 (CTF) 挑战和防御性安全研究。
# 免责声明
本项目仅供教育、安全研究和授权的渗透测试使用。用户有责任确保在扫描任何目标系统之前已获得明确许可。针对您不拥有或未经授权评估的系统进行未经授权的安全测试,可能会违反适用的法律和法规。
标签:Python, Web安全, 加密, 安全分析, 插件系统, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具