JS逆向某网站登录密码分析

声明:

本文仅供研究学习使用,请勿用于非法用途!

目标网站

aHR0cHM6Ly9hdXRoLmFsaXBheS5jb20vbG9naW4vaW5kZXguaHRt

今日目标网站是某知名支付网站,感觉自己有点飘了~~

这里只解密密码的加密方式

请求分析

先看请求,输入账号,密码后点击登录,记得提前浏览器打开 F12

这里注意输入错误的密码,方便我们查看请求数据包

在浏览器的开发者工具界面,快捷键 Crtl+Shift+F 直接打开全局搜索,

定位加密

根据上面的搜索关键词 password= ,我在 index.js 文件种定位到了加密位置 getPassword,熟悉的 RSA 加密

打上断点后,重新发请求,果不其然,在断点处停下来了!

解密

之前有讲过一篇有关 RSA 加密的专题,这里可以直接将 RSA 相关的代码拷贝下来。我们主要来改写这个 getPassword 加密函数, 原函数如下,其中 n = e.alipayEncrypt(2, i, t) 是最后要返回的结果!

function getPassword(t) {
    var e = new s.RSA;
    i = s.Base64.decode(this.options.TS)
    e.setPublicKey(this.options.PK);
    return e.alipayEncrypt(2, i, t);

我们很容易能获取到 i 和 公钥的值,这两个值都是写死的

i 是将里面的参数经过 base64 解码后的结果,在node 中也有直接的库来搞定,就像你在 Python 中调用一样,并不需要再去扣代码!

然后再补上 s.RSA 相关代码,即解密成功,具体扣代码细节,就不详述了

了解更多内容,烦请关注本人公众号, Python编程与实战

你可能感兴趣的:(python)