js逆向实战之某乐网登录参数pwd加密
声明:本篇文章仅用于知识分享,不用于其他用途
网址:https://oauth.d.cn/auth/goLogin.html
解密逻辑分析
- 访问网址,随便输入用户名和密码,看触发的流量包。
- 可以看到用户名是明文的,密码却是经过加密的,我们先看看是不是常用的加密。利用网站 https://1024tools.com/hash 查看。
- 经过对照,没有一个符合,就得我们自己找逻辑了。全局搜索
auth/login
关键字。
- 只有两处,很好判断,第一处就是我们要找的地方,点进去。
- 打断点,看看
submitData
是什么。
- 已经是加密后的数据了,说明加密逻辑在上面,往上翻翻就可看到
submitData
定义的地方。
submitData
中的pwd
是由rsaPwd
赋值的,搜索rsaPwd
是哪里定义的。
- 找到定义处,是个rsa加密,找到
rsa
函数的定义位置。
- 开始抠代码了。
var rsa = function (arg) {
setMaxDigits(130);
var PublicExponent = "10001";
var modulus = "be44aec4d73408f6b60e6fe9e3dc55d0e1dc53a1e171e071b547e2e8e0b7da01c56e8c9bcf0521568eb111adccef4e40124b76e33e7ad75607c227af8f8e0b759c30ef283be8ab17a84b19a051df5f94c07e6e7be5f77866376322aac944f45f3ab532bb6efc70c1efa524d821d16cafb580c5a901f0defddea3692a4e68e6cd";
var key = new RSAKeyPair(PublicExponent, "", modulus);
return encryptedString(key, arg);
};
console.log(rsa("123123"));
运行发现,没有setMaxDigits
函数。
回去找定义位置。
直接把这个文件中的所有代码复制出来。再运行,没有RSAKeyPair
函数。
继续回去找。
直接把这个文件中的所有代码复制出来。再运行,没有BarrettMu
函数。
继续回去找。
直接把这个文件中的所有代码复制出来。再运行,成功得到结果。
与数据包中pwd
的值一致,完事。