我想抓一个手机app,发现这app每次发送post请求的时候都会带上一个参数,里面应该是一个一次性的密钥,因为我把抓到的这个参数放到python去模拟请求的时候会返回一个“密钥已失效”的结果,这个密钥应该是app本地生成的,我想问他这个值是怎么生成的?第一次抓app,有啥思路提供下吗?或者提供个关键字我去搜索一下例子也行
热议
2楼 stingeo 2小时前
这是不是52PJ论坛更专业些?
3楼 假面歧视 2小时前
JEB 附加调试
4楼 天道总司 2小时前
不懂,,
5楼 深海空间 2小时前
stingeo 发表于 2022-3-28 19:00
这是不是52PJ论坛更专业些?
先在loc问问,毕竟卧虎藏龙,搞不定再去52发帖。哈哈
6楼 gzlock 2小时前
其实有过接入支付宝支付、微信支付接口经验的话,就会知道有一个参数签名的过程
参数签名往往会有一个在app内的字符串(叫公钥?)参与,但是这个公钥是不会再附带在网络请求中的,因为服务器也会有一个对应的私钥作为验证
只要你不修改抓到的网络请求中的任何参数,大多数是可以重复请求的
通常只有支付级接口才会有防重放攻击的机制
7楼 gzlock 2小时前
你现在的情况是除非你能反编译app拿到app内的公钥才可以自己构造网络请求的参数并对参数签名,否则大多数情况也就只能重复发送已抓到的请求
8楼 gzlock 2小时前
哦抱歉,你现在的情况是遇到了防回放(也可以叫重放、重复)攻击机制,基本无解。
9楼 深海空间 2小时前
哦抱歉,你现在的情况是遇到了防回放(也可以叫重放、重复)攻击机制,基本无解。 ...
不应该啊,这只是一个色色的app,而且这条请求仅仅是请求图片而已,请求头只附带下面这个值,你看下
jdsignature:1648389359.lpw6vgqzsp.901469d1b02511b3659dad11de656f99
10楼 gzlock 2小时前
不应该啊,这只是一个色色的app,而且这条请求仅仅是请求图片而已,请求头只附带下面这个值,你看下
...
也有可能是参数中附带了时间参数,而你再次发送请求时,超过服务器设置的时限了,例如5秒10秒1分钟
12楼 深海空间 1小时前
gzlock 发表于 2022-3-28 19:26
这也是一种很好的防回放攻击机制
你说的有道理,前面那一段好像是时间戳
13楼 gzlock 1小时前
你说的有道理,前面那一段好像是时间戳
很容易验证,你抓到请求后立马再自己请求一次,成功的话,隔一段时间再请求看看,就可以猜出是不是有这个防重放机制了
14楼 buspotato 半小时前
有sign, 肯定要反编译了, 估计还要脱壳...
15楼 luckyly 28分钟前
反编译后搜jdsignature这个字符串,找找算法。java层简单点,在so中的话就棘手了
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。