pawansiddh/web-vuln-scanner
GitHub: pawansiddh/web-vuln-scanner
一个用 Python 实现的基础 Web 漏洞扫描器,用于检测 XSS、SQLi、CSRF 等常见问题并生成 PoC,定位为学习和授权实验环境中的入门级工具。
Stars: 0 | Forks: 0
# Web 漏洞扫描器
使用 Python 构建的基础 Web 应用漏洞扫描器。用于测试常见的 OWASP Top 10 问题 —— 作为一个学习项目编写,并可用于授权的实验室环境。
它不能替代 Burp Suite,但非常适合快速扫描目标上的 params 并了解其底层工作原理。
## 工具
### scanner.py
测试 URL 的以下漏洞:
- Reflected XSS(注入 payloads,检查响应中是否存在反射)
- SQL Injection(通过 DB 错误特征进行基于错误的检测)
- Open Redirect(测试常见的重定向 params)
- Path Traversal(检查对 /etc/passwd 的访问权限)
```
python scanner.py "http://testphp.vulnweb.com/search.php?test=1"
python scanner.py "http://target.com/page?id=1&name=test"
```
**适合合法测试的免费目标:**
- `http://testphp.vulnweb.com` — Acunetix 的故意存在漏洞的应用
- `http://hackyourselffirst.troyhunt.com` — Troy Hunt 的演示
- 您本地机器上的 DVWA
### csrf_poc.py
为 CSRF 漏洞生成一个独立的 HTML 概念验证页面。
在编写渗透测试报告时非常有用 —— 它为开发者提供了具体的方式来复现 bug。
```
# 基于 GET 的 CSRF
python csrf_poc.py "https://bank.com/transfer?to=attacker&amount=1000"
# 基于 POST 的 CSRF
python csrf_poc.py https://site.com/change-email POST email=hacked@evil.com
```
## 环境要求
```
pip install requests urllib3
```
## 工作原理
扫描器将测试 payloads 注入到每个 URL parameter 中,并分析响应。对于 XSS,它会检查 payload 是否被反射回来。对于 SQLi,它会查找数据库错误字符串。没有任何魔法 —— 只是 HTTP 请求和字符串匹配。
## 局限性
- 仅测试 GET parameters(POST 表单测试 = TODO)
- 没有 JavaScript 渲染(无法捕获基于 DOM 的 XSS)
- 仅限基于错误的 SQLi —— 无法捕获 blind SQLi
- 可能会出现误报
对于真正的评估,您仍然需要使用 Burp Suite 进行手动测试。这只是为了加快初始扫描速度。
## 免责声明
仅在对您拥有明确测试权限的系统上运行此工具。仅限用于实验室/CTF/授权的评估。
标签:CISA项目, OWASP Top 10, Python, Web安全, 加密, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具