cy-sc2911/bruteforce_TryHackMe_lab

GitHub: cy-sc2911/bruteforce_TryHackMe_lab

一个用于教学的 HTTP 暴力破解脚本,演示弱密码检测与安全漏洞分析。

Stars: 0 | Forks: 0

# 🔐 HTTP 暴力破解工具 — TryHackMe 实验 ## 📚 概述 本项目演示了**暴力破解攻击**在 HTTP 协议层面的工作方式。它是一个用于理解密码猜测机制和 Web 认证系统中安全漏洞的实践学习工具,专为 TryHackMe 学习平台设计。 ### 主要应用场景 自动化发送 HTTP POST 请求,以测试弱密码(例如数字 PIN 码)对存在漏洞的登录表单,适用于可控的实验环境。 ## 🎯 功能特性 - ✅ **自动化密码猜测** — 系统化测试密码列表 - ✅ **HTTP POST 请求** — 向 Web 表单提交认证数据 - ✅ **代码简洁易读** — 易于理解和修改以供学习 - ✅ **响应验证** — 通过检查响应文本检测成功登录 - ✅ **教育注释** — 包含道德提醒和代码说明 - ✅ **可定制** — 易于适配不同目标与词表 ## 🔍 工作原理 ``` 1. Generates a list of 4-digit numeric passwords (0000–9999) 2. Iterates through each password 3. Sends an HTTP POST request with username + password 4. Checks if the response contains "Invalid" 5. If no "Invalid" in response → credentials found ✓ 6. If "Invalid" found → tries next password ``` ### 代码流程 ``` for each password in 0000-9999: POST { username: "admin", password: password } if "Invalid" NOT in response: print "✓ Found!" break else: print "✗ Trying next..." ``` ## 💡 学习收获 ### 安全概念 - **暴力破解攻击**在协议层面的工作方式 - **HTTP 认证漏洞**与弱密码策略 - **响应分析**用于检测成功登录尝试 ### Python 技能 - **构建模块化、可复用的 Python 脚本** - **错误处理**应对网络超时与连接错误 - **字符串操作**与响应解析 - **循环优化**用于迭代任务 ## ⚖️ 法律与道德声明 ### ✅ 应当做 - 仅对**自己拥有或明确获得书面授权的系统**进行测试 - 在**受控实验环境**中测试(如 TryHackMe、HackTheBox 等) - 出于**防御性安全目的**学习本工具 - 负责任地报告发现的漏洞 ### ❌ 禁止做 - 攻击**未经授权的目标**(违反 CFAA 等法律) - 在**未获明确许可的生产环境**中测试 - 造成**中断或数据丢失** - 用于**恶意目的** ## 📁 项目结构 ``` bruteforce_TryHackMe_lab/ ├── app.py # Main brute force script ├── README.md # Documentation (this file) └── requirements.txt # Python dependencies (optional) ``` ### 可选:创建 `requirements.txt` ``` requests==2.31.0 ``` 安装命令: ``` pip install -r requirements.txt ``` ## 🧪 测试与改进建议 1. **添加日志记录** — 将尝试记录到文件以便分析 2. **实现指数退避** — 避免触发频率限制 3. **使用代理** — 如需要时轮换 IP 4. **添加用户代理** — 绕过基础机器人检测 5. **支持多端点** — 测试登录、管理面板、API 等 6. **数据库集成** — 记录成功凭据 ## 📄 许可证 本项目仅提供**教育用途**。请负责任且合乎道德地使用。 ## ❓ 常见问题 **Q:此工具适用于任何网站吗?** A:不适用。仅适用于目标系统中存在示例中弱密码验证机制的网站。大多数真实站点都具备频率限制、账户锁定和更强的验证机制。 **Q:此工具是否违法?** A:工具本身是中立的。**在未获授权的情况下使用是违法的**。仅在自己拥有或明确获授权测试的系统上使用。 **Q:为什么不直接使用 Hydra 等真实工具?** A:此项目设计用于学习。真实渗透测试人员会使用成熟工具如 Hydra、Burp Suite 或定制脚本。本项目是动手实践的入门起点。 **Q:能否使用自定义密码而非 0000-9999?** A:当然可以!修改 `password_list` 变量即可使用任意词表。
标签:Brute Force, Credential Stuffing, Ethical Hacking, HTTP暴力破解, Login Attack, POST请求, TryHackMe, Web安全, 响应验证, 安全学习, 密码猜测, 弱密码检测, 抓包分析, 教学实验, 暴力破解攻击, 网络渗透测试, 蓝队分析, 认证绕过, 逆向工具