我想抓一个手机app,发现这app每次发送post请求的时候都会带上一个参数,里面应该是一个一次性的密钥,因为我把抓到的这个参数放到python去模拟请求的时候会返回一个“密钥已失效”的结果,这个密钥应该是app本地生成的,我想问他这个值是怎么生成的?第一次抓app,有啥思路提供下吗?或者提供个关键字我去搜索一下例子也行 |
这是不是52PJ论坛更专业些? |
JEB 附加调试 |
不懂,, |
先在loc问问,毕竟卧虎藏龙,搞不定再去52发帖。哈哈 |
其实有过接入支付宝支付、微信支付接口经验的话,就会知道有一个参数签名的过程 参数签名往往会有一个在app内的字符串(叫公钥?)参与,但是这个公钥是不会再附带在网络请求中的,因为服务器也会有一个对应的私钥作为验证 只要你不修改抓到的网络请求中的任何参数,大多数是可以重复请求的 通常只有支付级接口才会有防重放攻击的机制 |
你现在的情况是除非你能反编译app拿到app内的公钥才可以自己构造网络请求的参数并对参数签名,否则大多数情况也就只能重复发送已抓到的请求 |
哦抱歉,你现在的情况是遇到了防回放(也可以叫重放、重复)攻击机制,基本无解。 |
不应该啊,这只是一个色色的app,而且这条请求仅仅是请求图片而已,请求头只附带下面这个值,你看下
|
也有可能是参数中附带了时间参数,而你再次发送请求时,超过服务器设置的时限了,例如5秒10秒1分钟 |