Loading... # Hetty HTTP 安全研究工具技术分析 # 一、概述 ## 1. 项目简介 Hetty 是一个专为安全研究设计的 HTTP 工具包,旨在成为 Burp Suite Pro 等商业软件的开源替代方案。该项目针对信息安全(infosec)和漏洞赏金(bug bounty)社区的需求,提供强大的 HTTP 流量拦截和分析功能。 ## 2. 核心定位 ### A. 开源替代方案 Hetty 的核心目标是提供与商业工具 Burp Suite Pro 相当的功能,但以开源 MIT 许可证发布,让所有人都能免费使用。 ### B. 目标用户群体 - 信息安全研究人员 - 漏洞赏金猎人 - 渗透测试工程师 - Web 应用安全审计人员 ## 3. 项目背景 Hetty 由 dstotijn 开发,使用 Go 语言编写,目前处于活跃开发状态。项目采用 MIT 许可证,鼓励社区贡献和二次开发。 # 二、核心功能 ## 1. MITM HTTP 代理 ### A. 流量拦截 - 中间人攻击(MITM)代理功能 - 完整记录 HTTP/HTTPS 请求和响应 - 支持高级搜索和日志过滤 ### B. 证书管理 - 自动生成根 CA 证书 - 支持自定义证书路径 - 可通过 cert 子命令管理证书 ## 2. HTTP 客户端 ### A. 请求编辑 - 手动创建和编辑 HTTP 请求 - 重放代理拦截的请求 - 支持修改请求头、请求体等 ### B. 请求发送 - 直观的请求构建界面 - 支持各种 HTTP 方法 - 实时查看响应结果 ## 3. 拦截模式 ### A. 请求拦截 - 拦截发往目标服务器的请求 - 手动审查和修改请求内容 - 支持发送、接收或取消操作 ### B. 响应拦截 - 拦截服务器返回的响应 - 查看和修改响应内容 - 用于测试注入漏洞等场景 ## 4. 项目管理 ### A. Scope 功能 - 定义测试范围,保持工作有序 - 基于域名、路径等规则过滤 - 避免测试范围外的请求 ### B. 数据库存储 - 基于 SQLite 的项目数据库 - 每个项目独立存储数据 - 便于管理和切换不同项目 ## 5. Web 管理界面 ### A. 用户界面 - 易用的基于 Web 的管理界面 - 实时显示代理日志 - 直观的请求/响应查看器 ### B. 功能布局 - 代理日志视图 - 请求编辑器 - 项目设置面板 # 三、技术架构 ## 1. 系统架构 ```mermaid graph TB Client[客户端浏览器] -->|HTTP请求| Hetty[Hetty 代理] Hetty -->|转发请求| Target[目标服务器] Target -->|响应| Hetty Hetty -->|返回响应| Client Hetty -->|数据存储| Database[(SQLite 数据库)] Hetty -->|用户交互| WebUI[Web 管理界面] User[安全研究人员] -->|访问| WebUI ```  ## 2. 核心组件 ### A. 代理服务器 - 监听指定端口(默认 8080) - 处理 HTTP/HTTPS 流量 - 实现 MITM 功能 ### B. GraphQL 服务 - 提供 API 接口 - 支持数据查询和操作 - 与前端界面交互 ### C. 数据库层 - SQLite 存储 - 项目隔离 - 持久化日志数据 ### D. Web 界面 - 现代化单页应用 - 实时数据更新 - 响应式设计 ## 3. 技术栈 | 组件 | 技术选型 | 说明 | |------|---------|------| | 后端语言 | Go | 高性能、并发支持好 | | 数据库 | SQLite | 轻量级、无需额外部署 | | Web 框架 | 内置 HTTP 服务器 | 简化部署 | | 前端 | 现代化 JavaScript | 交互友好 | | 代理协议 | HTTP/HTTPS | 标准协议支持 | # 四、安装部署 ## 1. 系统要求 ### A. 操作系统 - macOS(支持 Homebrew) - Linux(各发行版) - Windows(支持 Scoop) ### B. 运行环境 - 端口 8080 可用(可配置) - 文件系统写入权限(用于证书和数据库) - 网络连接 ## 2. 安装方式 ### A. macOS(推荐) 使用 Homebrew 安装: ```bash brew install hettysoft/tap/hetty ``` ### B. Windows 使用 Scoop 安装: ```bash scoop bucket add hettysoft https://github.com/hettysoft/scoop-bucket.git scoop install hettysoft/hetty ``` ### C. Linux 从 GitHub Releases 下载对应架构的二进制文件,移动到 PATH 目录。 ### D. Docker 部署 使用 Docker 运行: ```bash docker run -v $HOME/.hetty:/root/.hetty -p 8080:8080 \ ghcr.io/dstotijn/hetty:latest ``` **参数说明**: - `-v $HOME/.hetty:/root/.hetty`:挂载数据卷,持久化证书和数据库 - `-p 8080:8080`:端口映射 ## 3. 配置选项 ### A. 命令行参数 ```bash hetty [flags] [subcommand] [flags] ``` ### B. 主要选项 | 选项 | 默认值 | 说明 | |------|--------|------| | --cert | ~/.hetty/hetty_cert.pem | 根 CA 证书路径 | | --key | ~/.hetty/hetty_key.pem | 根 CA 私钥路径 | | --db | ~/.hetty/hetty.db | 数据库文件路径 | | --addr | :8080 | HTTP 服务器监听地址 | | --chrome | false | 自动启动 Chrome 并配置代理 | | --verbose | - | 启用详细日志 | | --json | - | 以 JSON 格式输出日志 | | --version, -v | - | 输出版本号 | | --help, -h | - | 显示帮助信息 | ### C. 子命令 - `cert`:证书管理 ## 3. 使用流程 ### A. 启动 Hetty ```bash hetty ``` ### B. 配置浏览器代理 1. 设置 HTTP 代理为 `127.0.0.1:8080` 2. 设置 HTTPS 代理为 `127.0.0.1:8080` 3. 导入 Hetty 生成的 CA 证书到浏览器受信任列表 ### C. 访问管理界面 打开浏览器访问:`http://127.0.0.1:8080` ### D. 开始测试 1. 配置项目 Scope 2. 浏览目标网站 3. 在 Hetty 中查看拦截的请求 4. 使用 HTTP 客户端重放或修改请求 # 五、功能特性详解 ## 1. 高级搜索 ### A. 搜索功能 - 支持多条件组合搜索 - 快速定位特定请求 - 基于请求头、响应内容等字段过滤 ### B. 过滤选项 - 按状态码过滤 - 按内容类型过滤 - 按 URL 模式过滤 ## 2. Scope 管理 ### A. Scope 定义规则 - 基于域名的包含/排除规则 - 支持通配符匹配 - 实时生效 ### B. Scope 作用 - 限制测试范围,避免误操作 - 过滤无关流量 - 提高工作效率 ## 3. 请求重放 ### A. 重放功能 - 从日志中选择请求 - 一键重放 - 支持修改后重放 ### B. 应用场景 - 参数模糊测试 - 权限绕过测试 - 注入漏洞验证 ## 4. 拦截模式 ### A. 拦截设置 - 开启/关闭拦截 - 设置拦截规则 - 选择拦截方向(请求/响应) ### B. 拦截操作 - 查看完整请求/响应 - 修改内容 - 发送、丢弃或转发 # 六、与 Burp Suite 对比 ## 1. 功能对比 | 功能 | Hetty | Burp Suite Pro | |------|-------|----------------| | MITM 代理 | ✅ | ✅ | | 请求重放 | ✅ | ✅ | | 拦截模式 | ✅ | ✅ | | Intruder(模糊测试) | ❌ | ✅ | | 扫描器 | ❌ | ✅ | | 价格 | 免费(MIT) | 商业付费 | | 开源 | ✅ | ❌ | | 跨平台 | ✅ | ✅ | ## 2. 优势分析 ### A. Hetty 优势 - 完全开源免费 - 轻量级部署 - 现代化界面 - 活跃开发中 ### B. Burp Suite Pro 优势 - 功能更全面 - 成熟的工具生态 - 丰富的插件系统 - 企业级支持 ## 3. 适用场景 ### A. 选择 Hetty - 预算有限的安全研究人员 - 需要自定义和扩展功能 - 偏好开源工具 - 轻量级需求 ### B. 选择 Burp Suite Pro - 需要完整的功能集 - 企业级应用 - 需要官方技术支持 - 复杂的渗透测试场景 # 七、实际应用场景 ## 1. 漏洞赏金 hunting ### A. 工作流程 1. 配置目标域名的 Scope 2. 浏览目标应用,收集端点 3. 使用拦截功能测试参数 4. 重放请求进行模糊测试 5. 分析响应发现漏洞 ### B. 常见漏洞类型 - SQL 注入 - XSS 跨站脚本 - CSRF 跨站请求伪造 - 权限绕过 - 信息泄露 ## 2. 渗透测试 ### A. 测试准备 - 部署 Hetty 代理 - 配置测试目标 Scope - 导入 CA 证书 ### B. 测试执行 - 拦截并分析流量 - 修改请求测试漏洞 - 重放请求验证发现 - 导出测试报告 ## 3. 安全研究 ### A. 流量分析 - 研究 Web 应用行为 - 分析 API 接口 - 挖掘未知漏洞 ### B. 工具开发 - 基于 Hetty 开发插件 - 扩展功能 - 集成到工作流 # 八、项目状态与发展 ## 1. 当前状态 ### A. 开发状态 - 项目处于活跃开发中 - 持续更新功能 - 社区贡献欢迎 ### B. 发布渠道 - GitHub Releases - Homebrew Tap(macOS) - Scoop Bucket(Windows) - Docker Registry - Docker Hub ## 2. 社区支持 ### A. 问题反馈 - GitHub Issues:Bug 报告和功能请求 - GitHub Discussions:问答和故障排除 ### B. 社区交流 - Discord 服务器 - 贡献指南 - 行为准则 ## 3. 未来规划 ### A. 功能路线图 - 更强大的拦截功能 - 插件系统 - 更多扫描器功能 - 性能优化 ### B. 社区发展 - 文档完善 - 教程和示例 - 用户反馈收集 # 九、最佳实践 ## 1. 使用建议 ### A. 项目管理 - 为每个测试目标创建独立项目 - 合理配置 Scope,避免干扰 - 定期备份数据库文件 ### B. 证书管理 - 测试完成后删除导入的 CA 证书 - 生产环境不要使用测试证书 - 保护好私钥文件 ### C. 安全注意事项 - 仅在授权环境中使用 - 不要在公共网络暴露代理 - 妥善处理测试数据 ## 2. 工作流优化 ### A. 与其他工具配合 - 结合浏览器开发者工具 - 配合命令行工具(curl) - 集成到自动化测试流程 ### B. 高效使用技巧 - 熟练使用搜索和过滤 - 合理设置 Scope - 利用重放功能提高效率 # 十、总结 Hetty 是一个有潜力的开源 HTTP 安全研究工具,作为 Burp Suite Pro 的替代方案,它提供了核心的 MITM 代理、请求拦截和重放功能。虽然目前在功能完整性上与商业工具还有差距,但其开源性质和活跃开发使其成为预算有限的安全研究人员的理想选择。 对于漏洞赏金猎人和渗透测试工程师来说,Hetty 提供了足够的功能来完成日常的 Web 应用安全测试工作。随着项目的不断发展,未来有望成为更加强大和完整的开源安全测试平台。 *** ## 参考资料 1. [Hetty GitHub 仓库](https://github.com/dstotijn/hetty) 2. [Hetty 官方文档](https://hetty.xyz) 最后修改:2026 年 01 月 18 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏