mcpField
M
mitm-find-checksum

mitm-find-checksum

github.com/instavm安全8781 次安装13 周前更新
代码仓库

关于 mitm-find-checksum

mitm-find-checksum 是一项检查 mitmproxy 流量日志中校验和与签名漏洞的安全测试技能,面向应用安全测试。它查找弱算法、关键字段遗漏及未验证的校验值,并按端点、影响和修复建议整理发现。

主要功能

  1. 01分析 mitmproxy 流量日志
  2. 02查找校验和与签名参数
  3. 03检查弱算法及签名碰撞
  4. 04核对哈希字段覆盖范围
  5. 05检查后端是否验证校验值

适用场景

  1. 01审查支付回调的签名验证
  2. 02检查校验值是否包含金额字段
  3. 03调查接口是否暴露校验和生成
  4. 04整理漏洞影响与修复方向

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/instavm/security-skills --skill mitm-find-checksum

安装后在 Claude Code 中输入/mitm-find-checksum确认已加载。

详细介绍

查找校验和/签名漏洞

分析 mitmproxy 转储文件(log.txt),查找以下对象的校验和问题:$ARGUMENTS

需要:当前目录中有 log.txt。如果缺少该文件,请先捕获流量:

mitmdump --set flow_detail=3 2>&1 | tee log.txt

漏洞类型

1. 校验和生成逻辑暴露
  • 即使出错,API 也会返回哈希值
  • 可以生成任意校验和
  • 无需身份验证即可访问校验和端点
2. 弱算法
  • 使用无盐 MD5
  • SHA1(已弃用)
  • 简单拼接
3. 签名冲突
  • 不同操作使用相同签名
  • 付款和退款使用相同算法
  • 调整参数顺序会得到相同哈希值
4. 校验和缺少字段
  • 金额未纳入校验和计算
  • 未包含状态
  • 缺少关键字段
5. 未验证校验和
  • 存在哈希参数,但被忽略
  • 后端接受任意哈希值
  • 仅在特定端点进行验证

要查找的模式

# Look for hash/checksum parameters
hash=, checksum=, signature=, sign=, hmac=

# Look for checksum generation APIs
/generateHash, /getChecksum, /createSignature

# Error responses with valid checksums
"error": "...", "checksum": "valid_hash"

测试方法

# Test if checksum is validated
curl -X POST "https://target.com/callback" \
  -d "amount=100&status=success&hash=invalid"

# Test checksum generation
curl "https://target.com/api/generateChecksum" \
  -d "amount=1&status=success"

输出格式

对于每项发现:

  • 端点:使用校验和的位置
  • 问题:漏洞类型
  • 算法:可识别时填写
  • 包含的字段:哈希中包含的内容
  • 利用方式:如何绕过/生成
  • 影响:付款欺诈、数据篡改
  • 修复方法:使用强 HMAC,并包含所有字段

评论

支持 Markdown