Hetty:一款志在替代 Burp Suite 的开源免费 HTTP 安全测试工具​

在网络安全领域,高效、强劲的工具至关重大。Hetty 作为一个新兴的开源HTTP工具包,集MITM代理、流量拦截与重放于一体,旨在为安全研究者提供一个免费、跨平台的Burp Suite替代方案。本文将带您全面了解Hetty,并通过实战演示其核心功能。

一、 Hetty 核心架构与功能全景

Hetty 的设计以项目为核心,所有操作通过Web界面进行,,Hetty 通过项目化管理流量,使得测试工作清晰有序。接下来,我们深入其三大核心能力。

二、 核心能力深度解析

1. MITM代理与流量记录
Hetty 的核心是一个高性能的HTTP代理服务器。只需将浏览器或应用的代理设置为 http://localhost:8080,所有流量即可被捕获。

关键配置代码(环境变量)

# 启动时指定监听地址和端口(Docker示例)
docker run -p 8080:8080 -e HETTY_ADDR=:8080 ghcr.io/dstotijn/hetty:latest

# 或者通过CLI参数指定配置文件路径
hetty -config ./hetty.json

代理日志视图示意图

[GET]  https://api.target.com/v1/users    200 OK
[POST] https://api.target.com/v1/login    403 Forbidden
[GET]  https://target.com/assets/style.css 304 Not Modified

(图示:Web界面会以清晰的表格形式展示每条请求的方法、URL、状态码,点击可查看详情)

2. 请求/响应拦截与修改
此功能是安全测试的“灵魂”。当请求或响应被拦截时,界面会提供完整的原始数据供你编辑。

可拦截的请求示例(原始格式)

GET /admin HTTP/1.1
Host: vulnerable.com
User-Agent: Mozilla/5.0
Cookie: session=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
Accept: */*

在拦截视图中,你可以轻松地将 GET /admin 修改为 POST /admin,或在头部添加 X-Forwarded-For: 127.0.0.1 进行测试。

3. 手动请求与重放(Repeater)
Hetty 内置了强劲的HTTP客户端,你可以手动构造请求,或从代理日志中一键重放历史请求进行验证。

示例:使用cURL语法构造一个登录请求

# 这是Hetty支持的类cURL格式,用于快速构造请求
curl -X POST https://api.demo.com/login 
  -H "Content-Type: application/json" 
  -d '{"username": "test", "password": "password123"}'

说明:在Hetty的“客户端”界面,你可以直接粘贴cURL命令,它会自动解析为请求格式。

三、 实战演练:探测一个身份验证漏洞

假设我们需要测试一个登录接口是否存在用户名枚举漏洞。以下是使用Hetty的完整流程:

步骤 1:启动Hetty并配置浏览器代理

# 使用Docker快速启动(数据将持久化在 ~/.hetty 目录)
docker run -v $(pwd)/.hetty:/root/.hetty -p 8080:8080 ghcr.io/dstotijn/hetty:latest

打开浏览器,访问 http://localhost:8080,进入管理界面。

步骤 2:设置目标范围(Scope)
在 “Settings” 中,将目标域名(如 vulnerable-api.com)加入范围,避免无关流量干扰。

步骤 3:拦截登录请求

  • 在浏览器中访问目标登录页面,输入测试账号并提交。
  • 此时,登录请求会在Hetty的“拦截”选项卡中暂停。
  • 查看请求体,你可能会看到 {“username”: “test”, “password”: “pass”}。

步骤 4:重放与修改请求以进行测试

  • 在拦截界面,不选择“转发”,而是选择“发送至客户端”。
  • 在客户端中,你将看到这个请求的副本。目前,你可以系统地修改 username 字段,使用不同的常见用户名(如 admin, administrator, root)进行重放测试,并观察响应信息的差异。
// 修改请求体,测试不同用户名
{"username": "admin", "password": "wrongpassword"}
{"username": "administrator", "password": "wrongpassword"}
  • 如果针对“admin”和“test”用户的错误密码返回的错误信息不同(例如“用户名不存在” vs “密码错误”),则存在用户名枚举漏洞。

通过以上流程,你可以清晰地看到Hetty在实战中如何串联起代理、拦截和重放功能,成为一个高效的安全测试工具。

四、 总结与资源

Hetty 的优势总结

  • 完全免费与开源:无需担心许可费用,社区驱动透明。
  • 现代化Web界面:基于Web的管理方式,跨平台体验一致。
  • 项目化管理工作流:超级适合管理多个不同的测试任务。
  • 强劲的核心功能:代理、拦截、重放一应俱全,满足基本安全测试需求。

获取与学习资源

  • 项目地址: https://github.com/dstotijn/hetty
  • 官方文档: https://hetty.xyz/docs
  • 快速安装命令
# macOS 
brew install hettysoft/tap/hetty

# Linux
sudo snap install hetty 

# Windows (via Scoop) 
scoop bucket add hettysoft https://github.com/hettysoft/scoop-bucket.git scoop install hettysoft/hetty

对于预算有限的安全爱好者、学生和初创团队,Hetty 无疑是一个值得尝试和投入的宝藏工具。立即安装体验,开启你的高效安全测试之旅吧!

© 版权声明

相关文章

1 条评论

  • 头像
    赋柳意 投稿者

    收藏了,感谢分享

    无记录
    回复