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