可以看到在吊起支付的时候他们会将订单的一些信息传递给第三方的支付网站,这部分内容我们是修改不了的,因为它们这边有一个sign进行验签。
查看一些支付的平台发现他们的sign生成是由所有的参数进行a-z的排序然后加上商户的密钥进行md5。
现在我们拿到的信息是 金额、商品名称、通知地址、订单号、商户pid、返回地址、sign(MD5值)、加签方式。
我们现在就差一个密钥,这个密钥一般情况下我们是拿不到的。
在四月多的时候我注册过一次他们使用的平台,发现他们生成的密钥只有8位。
即便是只有8位数那么也需要62的8次方也就是218340105584896 才能猜出来
既然知道了参数信息-密钥的长度-md5值,那么md5的生成就是(参数+密钥)的MD5,通过穷举密钥,然后拿着生成的md5和最终的md5作比较。
下面是靶站https://www.zhenye.life/这个是我写的一个对靶站进行通知的demo
https://sw.qingyuge.top/
订单时点击结账前获取的订单号
如果相同的话做一下测试,可以正常使用就是正确的密钥,不正确的话就是md5出现了碰撞的情况。
版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。版权声明:本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除!
铭记
中
中
就
好