s0xandrew/Web-Vulnerability-Scanner
GitHub: s0xandrew/Web-Vulnerability-Scanner
一款轻量级 Python Web 安全扫描器,通过 payload 注入和标头检查自动发现 XSS、SQL 注入及安全配置问题。
Stars: 0 | Forks: 0
# 🔍 Web 漏洞扫描器
一款基于 Python 的 Web 安全扫描器,用于检测 Web 应用程序中的 XSS、SQL Injection 和安全标头配置错误。
这是我自学网络安全旅程中的实践作品,同时也是为了申请 IIT Kanpur 的 B.Cyber 项目(Wadhwani School of AI and Intelligent Systems)而准备的。
## ⚡ 功能
- **XSS 检测** — 将 payload 注入表单,检查是否被原样反射
- **SQL Injection 检测** — 通过构造的输入测试数据库错误泄露
- **安全标头分析** — 标记缺失的标头(CSP、X-Frame-Options、HSTS 等)
- **多页面爬虫** — 自动发现并扫描内部链接
- **报告生成** — 将完整的扫描输出保存至 `scan_report.txt`
## 🛠️ 设置与安装
**环境要求:** Python 3.12
```
# Clone 仓库
git clone https://github.com/YOUR_USERNAME/web-vulnerability-scanner.git
cd web-vulnerability-scanner
# 安装 dependencies
pip install requests beautifulsoup4
# 运行 scanner
python scanner.py
```
## 📸 示例输出
WEB VULNERABILITY SCANNER
By Sourabh | Ethical Use Only
Target: https://httpbin.org
[HEADERS SCAN] Checking security headers...
[MISSING ✗] X-Frame-Options — not set, potential risk!
[MISSING ✗] X-XSS-Protection — not set, potential risk!
[MISSING ✗] Content-Security-Policy — not set, potential risk!
[DONE] Scan completed: 2026-06-15
[DONE] Total pages scanned: 1
[REPORT] Saved to scan_report.txt
## 🧠 工作原理
### XSS (Cross-Site Scripting)
扫描器会查找页面上的所有 HTML 表单,并将已知的 XSS payload(如 ``)注入到每个输入字段中。如果该 payload 在服务器的响应中原样出现,则说明该网站存在漏洞——它未能对输入进行净化。
### SQL Injection
通过表单提交诸如 `' OR 1=1 --` 之类的 payload。如果服务器返回数据库错误字符串(例如 "mysql_fetch"、"syntax error"),则确认后端直接将用户输入插入到了 SQL 查询中。
### 安全标头
系统会根据 OWASP 推荐的安全关键标头列表来检查 HTTP 响应标头。缺失的标头会使用户面临点击劫持、MIME 嗅探及其他客户端攻击的风险。
## 📁 项目结构
web-vulnerability-scanner/
│
├── scanner.py # 主扫描器 — 包含所有模块
├── scan_report.txt # 自动生成的输出报告
└── README.md # 本文件
## ⚖️ 道德使用免责声明
此工具严格仅用于:
- 教育目的
- 在您拥有的系统上进行测试
- 合法的练习环境(例如 testphp.vulnweb.com、webscantest.com)
**切勿在未获得明确书面许可的情况下对任何系统运行此工具。**
未经授权的扫描在《2000 年信息技术法》(印度)及全球同等法律中均属违法行为。作者对任何滥用行为不承担责任。
## 🔗 B.Cyber 相关性
本项目直接映射到 B.Cyber 核心课程领域:
- OWASP Top 10(XSS = A03,SQLi = A03,安全配置错误 = A05)
- Web 应用程序渗透测试方法论
- 自动化漏洞发现
- 负责任的漏洞披露实践
## 👨💻 作者
**Sourabh**
自学网络安全爱好者 |
## 📚 我学到了什么
- XSS 和 SQLi 攻击在 HTTP 层面是如何运作的
- HTML 表单结构以及攻击者如何滥用输入字段
- HTTP 安全标头在纵深防御中的重要性
- Web 爬虫与自动化安全测试方法论
- Python:requests、BeautifulSoup、文件 I/O、错误处理
标签:CISA项目, Python, SQL注入检测, Web安全, XSS检测, 加密, 安全基线检查, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具