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, 无后门, 暴力破解, 认证测试, 逆向工具