deepeshsolanki455/web-vulnerability-scanner

GitHub: deepeshsolanki455/web-vulnerability-scanner

一个基于 Python 的自动化 Web 漏洞扫描工具,帮助用户发现并报告网站常见的安全风险。

Stars: 0 | Forks: 0

# 自动化Web漏洞扫描器 # [在线演示](https://automated-web-vulnerability-scanner.onrender.com) - 使用虚拟域名 - https://httpbin.org/ - https://example.com/ ## 项目概述 - **目的**:该项目旨在扫描网站常见的安全漏洞,并对发现的问题提供详细的分析和报告。 - **使用技术**: - Streamlit:用于构建 Python Web 应用的框架。 - Plotly:用于创建交互式可视化图表的库。 - Pandas:用于数据操作的库。 - Requests:用于向网站发起 HTTP 请求。 - BeautifulSoup:用于解析 HTML 和 XML 文档。 - SSL 和 Socket:用于处理 SSL/TLS 连接。 ## 文件结构 1. **app.py**:主应用程序文件,包含 Streamlit 应用逻辑。 2. **scanner.py**:包含 SecurityScanner 类,实现扫描逻辑。 3. **utils.py**:包含用于 URL 验证和报告生成的工具函数。 4. **tempCodeRunnerFile.py**:一个临时文件,似乎包含 CSS 样式(未在最终项目中使用)。 ## 详细说明 ### app.py - **导入**: - 导入必要的库,包括 Streamlit、Plotly、Pandas 以及自定义模块(SecurityScanner、validate_url、create_vulnerability_report)。 - **页面配置**: - 使用 `st.set_page_config` 设置页面标题、布局和侧边栏状态。 - **自定义 CSS**: - 定义应用程序样式,包括动画、颜色以及卡片、按钮、标题等组件的布局。 - **侧边栏配置**: - 允许用户选择主题并通过滑块设置扫描深度。 - **主要内容**: - 显示工具标题和简要描述。 - 接受用户输入的待扫描 URL。 - **扫描按钮**: - 点击后启动扫描流程。 - 验证 URL 并在无效时提供反馈。 - **进度显示**: - 扫描过程中显示进度条和状态更新。 - **结果展示**: - 使用标签页展示结果的不同部分: - **概览**:显示安全评分和漏洞分布图表。 - **详细分析**:列出每个漏洞的详细发现。 - **原始数据**:显示扫描结果的原始 JSON 数据。 - **扫描摘要**: - 显示扫描结果摘要,包括总漏洞数和严重发现。 - **下载报告**: - 允许用户下载详细的扫描结果报告。 - **关于部分**: - 提供扫描器所检查漏洞类型的信息。 ### scanner.py - **SecurityScanner 类**: - **初始化**:设置会话和基础 URL。 - **扫描方法**: - 使用线程池并发检查多个安全方面,协调扫描过程。 - 收集漏洞、计数、严重级别并计算安全评分。 - **漏洞检查**: - 每个方法(例如 `_check_security_headers`、`_check_ssl_tls`、`_check_xss` 等)检查特定漏洞: - **安全头**:检查重要安全头部的存在。 - **SSL/TLS**:验证 SSL 证书并检查 TLS 版本。 - **XSS**:测试跨站脚本(XSS)漏洞。 - **SQL 注入**:测试 SQL 注入漏洞。 - **CSRF**:检查跨站请求伪造(CSRF)保护。 - **目录遍历**:测试目录遍历漏洞。 - **敏感数据暴露**:检查是否暴露敏感数据。 - **认证**:验证认证机制的安全性。 - **服务器安全**:检查服务器信息泄露和危险的 HTTP 方法。 - **工具方法**: - 用于计算漏洞数量、严重级别、安全评分以及生成扫描结果摘要的方法。 ### utils.py - **URL 验证**: - 用于验证提供的 URL 格式是否正确(支持 http 或 https)。 - **报告生成**: - 用于从扫描结果创建详细文本报告,包括总体评分、漏洞统计和详细发现。 ## 用户交互流程 1. **用户界面**:用户访问 Web 应用,选择主题、设置扫描深度并输入 URL。 2. **开始扫描**:点击“开始扫描”按钮后,应用程序验证 URL 并启动扫描流程。 3. **进度更新**:用户实时查看扫描阶段的进度和进度条。 4. **结果展示**:扫描完成后,用户可以在不同标签页中查看结果、下载报告并阅读所检查的漏洞信息。 ## 结论 该项目是一个全面的 Web 漏洞扫描器,为用户提供友好的界面来评估其网站安全性。它结合多种技术提供实时分析、详细报告和漏洞可视化,是 Web 开发者和安全专业人士的有价值工具。 如果您对项目的任何部分有具体问题或需要更多细节,请随时提问! **注意**: - 确保系统中已安装 Python。 - 扫描网站需要互联网连接。 - 使用的测试 URL 示例: - https://example.com/ - https://httpbin.org/
标签:BeautifulSoup解析, DOE合作, HTTP请求, Kubernetes, Linux取证, Pandas数据处理, Plotly图表库, Python Streamlit, SEO安全工具, Socket, Splunk, SSL, URL验证, 主题切换, 交互式图表, 前端界面, 域名验证, 字符串匹配, 开源安全工具, 结构化查询, 网站漏洞扫描, 网络安全, 自动化安全, 进度条, 逆向工具, 逆向工程平台, 隐私保护