mcpField
M
mitm-find-callback

mitm-find-callback

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

关于 mitm-find-callback

mitm-find-callback 是一项通过 mitmproxy 流量日志检查支付回调问题的安全技能,适用于支付接口审查。它关注签名、状态、金额和校验和风险,并按发现项整理测试与修复建议。

主要功能

  1. 01检查回调签名校验问题
  2. 02检查支付状态和金额篡改风险
  3. 03检查签名碰撞与校验和生成
  4. 04按发现项整理影响和修复建议

适用场景

  1. 01审查支付回调的签名验证
  2. 02评估订单状态或金额篡改风险

安装

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

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

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

详细介绍

发现支付回调漏洞

分析 mitmproxy 转储文件(log.txt),检查以下对象的支付回调问题:$ARGUMENTS

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

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

漏洞类型

1. 未验证哈希/签名
  • 回调接受任意哈希值
  • 存在哈希参数,但未进行验证
  • 无有效签名也能更改状态
2. 状态篡改
  • 将 status=failed 更改为 status=success
  • 修改 unmappedstatus 参数
  • 篡改交易结果
3. 金额篡改
  • 在回调前修改金额
  • 少付钱,却获得完整订单
  • 操纵小数位
4. 签名碰撞
  • 同一签名同时适用于支付和退款
  • 参数重排后生成相同哈希
  • 签名计算时遗漏字段
5. 校验和生成机制暴露
  • 即使出错,API 也会返回校验和
  • 可以生成任意校验和
  • 校验和算法较弱(未加盐的 MD5/SHA1)

测试方法

# Test callback with modified status
curl -X POST "https://merchant.com/payment/callback" \
  -d "txnid=12345&status=success&hash=original_hash"

# Test with invalid hash
curl -X POST "https://merchant.com/payment/callback" \
  -d "txnid=12345&status=success&hash=aaaa"

流量中的危险信号

  • 回调 URL 的请求中包含所有参数
  • 哈希在客户端代码中可见
  • JavaScript 中包含盐值/密钥
  • 错误响应中包含有效校验和

输出格式

每项发现包括:

  • 回调 URL:存在漏洞的端点
  • 问题:可以篡改的内容
  • 参数:受影响的字段
  • 测试:利用方法
  • 影响:免费订单、退款等
  • 修复:进行适当的服务端验证

评论

支持 Markdown