概述
声明
本文仅供学习参考,请勿用于其他途径,违者后果自负!
前言
目标网站:aHR0cHM6Ly9wYXNzcG9ydC5pd2dhbWUuY29tL3Nzby9sb2dpbnBhZ2UuZG8=
接口:aHR0cHM6Ly9wYXNzcG9ydC5pd2dhbWUuY29tL3Nzby9sb2dpbi5kbw==
目标参数:s
参数分析
post请求,form data的数据是一个s。
今天逆向分析的目标,一起看一下这个s是如何加密生成。
在Init中找到堆栈,打上断点,重新请求。
可以在这里清楚的看到data: "s=" + c
。
此时的c已经生成。
所以接着向上找堆栈,向上一层就可以定位到c的生成。
接下来把把我们需要的代码扣下来做一些简单修改。
其中k是固定数组,直接拿下。
$wnd是window对象,在这里可以不要。
function getS(user, pwd) {
const k = [102, 55, 52, 53, 48, 101, 99, 51, 53, 56, 55, 50, 55, 101, 102, 99, 50, 51, 50, 57, 52, 50, 54, 100, 56, 56, 56, 102, 48, 54, 100, 52];
var b = `{"identityId":"${user}","credential":"${pwd}","captcha":"","capId":"1c738643f73d4951835a63acb15e79d2","accountType":"PERSONALITY","gotourl":"","ls":"","pid":""}`;
var d = btoa(b);
var b = CryptoJS.MD5(d).toString() + b;
var d = String.fromCharCode.apply(null, k);
var d = CryptoJS.enc.Hex.parse(d);
var b = CryptoJS.AES.encrypt(b, d, {
mode: CryptoJS.mode.ECB
}).ciphertext.toString();
return btoa(b);
}
其中参数capId
是服务器下发的一个变值,通过寻找发现是一个ajax请求。
通过搜索url也可以找到对应的数据包,这里不做多解释
。
然后使用了btoa
库和crypto-js
,这里就没有扣代码了。
最后验证结果。
完全一致,也就是说明我们的代码没有问题。
今天的目标就完成了。
最后
以上就是天真咖啡为你收集整理的js逆向-某岸网络登录参数的全部内容,希望文章能够帮你解决js逆向-某岸网络登录参数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复