【拉勾招聘】职位信息 |逆向分析 | 响应数据加密 | AES | RSA | 请求加密 | sessionStorage

搜索销售,可以看到数据接口
在这里插入图片描述

在这里插入图片描述
这里三个地方全部都是密文

headers[“X-S-HEADER”]

直接搜索x-k-header
打上断点,点击分页
在这里插入图片描述

进去
在这里插入图片描述
然后点击下一步到这里
在这里插入图片描述

在这里插入图片描述
e是固定的,一个是请求的url,一个是请求的参数
然后将t进行SHA256加密再转大写,最后返回结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

看看It是什么,点击进去

在这里插入图片描述

在这里插入图片描述
为AES加密,看看aesKey是怎么来的,是从sessionStorage里面取的
在这里插入图片描述
在这里插入图片描述


const CryptoJS = require('crypto-js')

var kt = ""
, Pt = CryptoJS.enc.Utf8.parse("c558Gq0YQK2QUlMc")
, It = function (t) {
    kt = CryptoJS.enc.Utf8.parse("5h4OmlZlSWqtWTHXk3dDxZQi7bVzaOI5"), // sessionStorage 里面的 "aesKey"
        t = CryptoJS.enc.Utf8.parse(t);
    t = CryptoJS.AES.encrypt(t, kt, {
        iv: Pt,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    return t.toString()
};

var headers = {};
url = "https://www.lagou.com/jobs/v2/positionAjax.json"
params = '{"first":"true","needAddtionalResult":"false","city":"全国","pn":"1","kd":"销售"}'


e = {deviceType: 1};
t = "".concat(JSON.stringify(e)).concat(url).concat(params);
t = CryptoJS.SHA256(t).toString().toUpperCase();
headers["X-S-HEADER"] = It(JSON.stringify({
    originHeader: JSON.stringify(e),
    code: t
}))


console.log(headers);

在这里插入图片描述

headers[“X-K-HEADER”]

在这里插入图片描述
在这里插入图片描述
是从sessionStorage里面取的"secretKeyValue"

请求参数data

在这里插入图片描述
e.body就是请求参数现在是明文
搜索e.body = 看看怎么加密的

在这里插入图片描述
w就在上面定义了,可以看到就是AES加密了参数
在这里插入图片描述

w = It(params)
headers.body = "data=".concat(encodeURIComponent(decodeURIComponent(w)));
console.log(headers);

在这里插入图片描述

响应数据解密

直接搜索AES.decrypt(
有两个地方,都打上断点,看在哪个位置

在这里插入图片描述

sessionStorage里面的参数怎么来的

前面是从sessionStorage里面取的参数,仔细看sessionStorage是有过期时间的,所以都是变的
在这里插入图片描述
在这里插入图片描述
有取值就会有赋值
Wt方法就是赋值,搜索Wt会发现是这个接口返回的

在这里插入图片描述
我们去找这个接口,怎么找?清除浏览器里面的sessionStorage,再刷新,就会重新生成
在这里插入图片描述
删掉再刷新是不是就有了
在这里插入图片描述
在这里插入图片描述
直接搜索secretKeyDecode打上断点,再删除sessionStorage,再刷新,就会再生成,也就断下来了
此时的sessionStorage是空的所以这也是空的
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
那就是Rt()生成的
在这里插入图片描述
在这里插入图片描述
到此就结束了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值