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安全, 加密, 安全分析, 插件系统, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具