2022-01-11JS逆向之拉钩登入(上)
Posted 阿J~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-01-11JS逆向之拉钩登入(上)相关的知识,希望对你有一定的参考价值。
文章仅供参考,禁止用于非法途径
文章目录
前言
目标网站:aHR0cHM6Ly93d3cubGFnb3UuY29tLw==
一、页面分析
先来看下登入的接口吧,login.json这个,提交数据是加密的,看这样子一般都是AES了
(PS:前面流程会有jy无感+有感套餐,这里就略过,只讲数据的加解密)
二、加解密定位和分析
既然判断出是AES,直接全局搜AES,然后每个下断点即可,然后重新点下登入,出发断电,这里可以看到入口参数t
,然而t
一看就不是明文,里面还有个code,通过堆栈网上跟一下
在这里生成的code,是个sha256的加密,再上个断电,重新出发
里面三个参数 e、r、t
t = "".concat(JSON.stringify(e)).concat(Vt(r)).concat(Lt(t))
直接搜md5即可定位到密码加密位置,方法为一次md5,一次加盐md5
然后拼接一下,再搞个sha256加密一下就可以了
后面再组合一个字典,调用Rt
方法,先进去看看
就是之前熟悉的AES,找来即可,然后这有个aeskey,看他咋来
进到zt方法后看到了这个是从session缓存中取得,先不管他,写死再说
结果也是ok的
然后去看了下接口的请求参数,确实不一样的,糟糕了,看来不是这个接口奥
请求参数的加密位置是在这里哈,也是走的aes,没走SHA256,但是这个SHA256用在其他地方,也是必须的,只是提前走一下
本地加密后,再跟网页的对比一下,这下是对的了
然后就是看相应数据的解密,可以直接找到这里,同样改写下即可
解出来数据就没问题了
然后回过头来,我们看这个aeskey,由于是在缓存里的,我们先把浏览器缓存清了,重新抓包看看
这个key其实是32位的随机数,通过rsa加密后,经过这个接口进行激活
而返回数据里的secretKeyValue
也是我们请求头里面会校验的X-SS-REQ-HEADER
总结
由于时间关系快下班了哈,先讲到这,下篇继续
以上是关于2022-01-11JS逆向之拉钩登入(上)的主要内容,如果未能解决你的问题,请参考以下文章
2021-11-26JS逆向之某某海关企业进出口信用信息公示平台(上)