第一次发帖,如有不足之处,请见谅
网站:'aHR0cHM6Ly93d3cubmZ0Y24uY29tL2g1Lz90YWJJZD1jZXJ0Iy9wYWdlcy9wcm9qZWN0L2xvZ2luL3Bhc3N3b3JkTG9naW4/dXJsPQ=='
抓包分析
登陆接口,提交的没有加密,我们看一下请求头
请求头里面发现有这几个看不懂的头部字段,一个是时间戳,另外两个看不懂,但是我们在本地直接复制发包就不行,我们直接开始逆向这两个字段吧
过无限debugger
打开 f12 就发现进入了无限debugger
直接点到第三个堆栈,有一个函数调用,然后下一个条件断点,把这个函数置空(都在图里了),然后f5刷新网页,就会发现一个debugger过了,又出现了另外一个,上面的方法一样都可以过,都是第三个堆栈,一个函数调用,然后置空,f5 刷新网页,有五个无限debugger。直接置空完就行了。剩下的我就不再演示了
定位加密参数
通过搜索关键字可以直接定位到下面这,画红框的部分明显在赋值,而且另外两个参数也在这,所以我们在此下个断点
发现直接点赋值那里下断点,点不动,我们往上或往下多点一下,下好断点之后,再去登陆
我们可以分析到 nftcnApiAppSecret 这个字段是在上面生成的
我们发现是这里生成的,我们分析这段代码
最终结果是32位的,我们猜测是 md5 转大写的
其中里面还有一段随机数生成,发现在上面生成的了,是一个函数返回,我们直接点进去函数查看
发现是随机生成的,我们直接扣下来
这个参数是md5转大写那个:nftcnApiAppSecret
这个参数是随机生成的那个:nftcnApiNonce
至此,还剩下最后一个参数nftcnApiSignature
向下看,nftcnApiSignature 找到这个赋值的地方
参数是拼接的,然后通过函数调用,生成一个加密,我们点进函数里面然后分析
进到函数内部,简单分析一下可知,是一个'SHA256withRSA'签名
直接使用乐易助手生成,对比结果发现一致,至此三个参数分析完毕
|