firas-codes1/spwder
GitHub: firas-codes1/spwder
一款用于在受控环境中对 HTML 表单认证进行暴力密码测试的安全工具,支持 CSRF token 自动处理与高度自定义的请求参数。
Stars: 1 | Forks: 0
# spwder v2
一个使用 Python 编写的 HTML 表单认证测试工具。它模拟针对 HTML 表单认证的攻击,仅旨在用于受控环境中的教育目的。该项目的灵感来源于 Justin Seitz 撰写的《Black Hat Python》(2014 年)。
## 功能
* 支持 HTTP 和 HTTPS
* 处理 CSRF token:
* Cookie 中的 CSRF token。
* 隐藏 input 字段中的 CSRF token。
* 高度可定制。用户可以:
* 设置自定义 headers。
* 提供自定义 parameters。
* 提供自定义 Cookies。
* 允许进行数据转储。
* 使用密码列表进行测试。
## 安全上下文
Spwder 用于测试以下方面的认证安全性:
* 频率限制。
* 会话处理。
## 映射到 MITRE ATT&CK
Spwder 的模拟活动映射到 ATT&CK 战术 $${ \color{red} Credential \space Access \space (TA0006) \space - \space T1110 \space Brute \space Force. }$$
## 使用说明
参数:
url (必填) - 登录页面的 URL (不要包含 http://)
-pl (可选) - 包含自定义密码的文件路径 (至少 20 个密码)
-cf (可选) - 使用来自文件的自定义 cookie
-cc (可选) - 使用自定义 cookie
-https (可选) - 使用 HTTPS (默认使用 HTTP)
-p (可选) - 从文件提供 parameters (你应该同时提供用户名/邮箱) >可能会导致错误
-hd (可选) - 使用来自文件的自定义 headers
-dump (可选) - 显示转储的数据
示例:
基础: spwder.py url=facebook.com/login
-pl=C:\Users\you\Desktop\mypasswords.txt
-cf=C:\Users\you\Desktop\mycookie.txt
-cc=Mycookie124
-https=1 (启用 https)
-p=C:\Users\you\Desktop\paramss.tx
-hd=C:\Users\you\Desktop\myheaders.txt
myheaders.txt 的格式应如下所示:
header
value
示例:
User-Agent
Mozilla/5.0
-dump=1 (它接受 1 或 2,1 代表来自目标的第一次响应,2 代表来自目标的表明可能存在正确密码的响应)
重要提示:在进行测试时不要使用 -dump ,只能在认证测试完成后使用它。此外,使用它时请加上 url=x 以避免错误。(spwder.py url=whatever -dump=2)
确保 pwds.txt 与 dump1.txt 和 dump2.txt 一起位于 spwder.py 的工作目录中
## 实现说明
- 最初,spwder 本应根据密码数量来统计密码并创建线程进行测试。然而,这似乎会触发 HTTP 429 (请求过多) 错误。因此,为了简单起见,现在仅使用单个线程进行测试。
- Spwder v2 可以处理 CSRF cookie(在 Set-Cookie headers 中)和 CSRF token(在 input 标签中,type="hidden")。
- 原始代码组织不佳。新代码更加整洁且易于维护。
- Spwder v2 已通过一个基础的 Django 网站成功测试。
## 局限性
1. 由于仅使用单个线程,速度相对较慢。
2. 无法处理 CAPTCHA。
## 未来改进
由于缺乏关于如何使用
urllib 完成特定任务的可用教程和示例,正确实现某些功能耗费了大量的时间和精力。未来可能会使用 requests 库来编写改进版的 Spwder。标签:PoC, Python, 无后门, 暴力破解, 认证测试, 逆向工具