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逆向之拉钩登入(上)的主要内容,如果未能解决你的问题,请参考以下文章

爬虫反爬:JS逆向之实战3

爬虫反爬:JS逆向之实战3

爬虫反爬:JS逆向之实战3

2021-11-26JS逆向之某某海关企业进出口信用信息公示平台(上)

#yyds干货盘点# Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介

# yyds干货盘点 # Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介