云空间登录参数加密分析

简介: 云空间登录参数加密分析
项目地址:aHR0cHM6Ly93d3cuZWNwYW4uY24vZHJpdmUvdXNlcmxvZ2luLmRv

观前提示:

本文章仅供学习交流,切勿用于非法通途,如有侵犯贵司请及时联系删除



定位加密点

  1. 随便输入参数点击登录抓包
  2. 可以看到这里出现了俩个包点进去分别分析
    queryUserId 中发现了密文出现 参数名称 primarykey 小本本记起来

    userlogin 中同样发现了密文出现 参数名称 password
  3. 接下来我们就根据这俩个参数名称定位 可以发现该网站没有混淆 可以很方便的搜索得到关键点



  4. 接下来就是点进去看了 (那就有人要问了 那么多Js咋知道哪个是我要的呢 其实 做多了就知道 通过肉眼观察也可以分辨 还有呢 你不确定就统统打上断点 反正断点不要钱)
    经过多个断点的尝试 俩个加密位置水落石出
    primarykey
    加密逻辑 md5 "wangpanIT"+时间戳

    password
    加密逻辑 密码md5后rsa






加密算法实现

既然加密逻辑都搞懂了 我们可以选择 扣取Js 也可以选择 引用加密库 目前常用的库是CryptoJS

primarykey

通过刚刚的分析首先实现的 primarykey 加密引用 CryptoJS 库 并根据代码加密逻辑改写代码实现加密

function queryUserId(telephone, realEmail){
  var params = {};
      params.authkey = {};
      params.authkey.timestamp = new Date().getTime();
      params.authkey.rand = 0;
      params.authkey.uid = 0;
      params.authkey.primarykey = hex_md5("wangpanIT" + params.authkey.timestamp);
      params.user = {};
      params.user.telephone = telephone;
      params.user.realEmail = realEmail;
      params.channelType = "login";
      var jsonStr = JSON.stringify(params);
      return jsonStr;
}

password

同样的 password 也是通过引用加密库来实现 但是库也不是万能的 万一人家把库魔改了呢 那还是得动手 根据观察Js的加密逻辑 很直白了已经

var passwd = hex_md5(jQuery.trim(passwordShow));
var encrypt = new JSEncrypt();
var pubKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpIbMUaG8JJ3afkH1XAwLQGlV5J9nZQWLAUT+5aswA0dePEwmp43QZ2bRnG/0FDxSbN2ePZskNCnzAr2BRuJBv6GlMyZuxhhBsuddSL7Zc0KAgkYjUDVn5PZgH1ha49eeJBEetRioHTpujhxPwoA+NNV9/L8h67Zx/h4HfyWrYnQIDAQAB'
encrypt.setPublicKey(pubKey);
rsaKey = encrypt.encrypt(passwd);


首先把鼠标放到函数上进入加密函数

然后你会发现 整个Js页面2879行全是关于rsa加密的函数 都不用扣

那就拿出我们珍藏许久的ctrl+cctrl+v大法

放到node环境运行一下看看会报什么错

报了俩个错误

1.navigator is not defined

2.window is not defined

那简单 缺啥补啥就行了

window=this;
navigator={};

补上之后运行 正常 再补上计算函数

如果有提示错误 JSEncrypt is not defined 的情况

new JSEncrypt(); 改为 new window.JSEncrypt(); 就可以解决了

加上扣取的Js全部的加密逻辑

function encrypt_password(password){
    var passwd= hex_md5(password);
    var encrypt = new window.JSEncrypt();
    var pubKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpIbMUaG8JJ3afkH1XAwLQGlV5J9nZQWLAUT+5aswA0dePEwmp43QZ2bRnG/0FDxSbN2ePZskNCnzAr2BRuJBv6GlMyZuxhhBsuddSL7Zc0KAgkYjUDVn5PZgH1ha49eeJBEetRioHTpujhxPwoA+NNV9/L8h67Zx/h4HfyWrYnQIDAQAB'
    encrypt.setPublicKey(pubKey);
    rsaKey = encrypt.encrypt(passwd);
    return rsaKey;
}




运行结果


到此 这个网站的登录分析就到此结束啦 感谢各位的观看

相关文章
|
4月前
|
数据安全/隐私保护 Android开发
2023安卓逆向 -- 某合伙apk登录加密分析
2023安卓逆向 -- 某合伙apk登录加密分析
31 0
|
5月前
|
JavaScript 前端开发 测试技术
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
241 0
|
6月前
|
前端开发 JavaScript 数据安全/隐私保护
Jmeter模拟加密密码登录
Jmeter模拟加密密码登录
126 0
|
18天前
|
前端开发 算法 JavaScript
实现注册登录时数据的加密传输(含前后端具体代码)
实现注册登录时数据的加密传输(含前后端具体代码)
|
2月前
|
算法 前端开发 JavaScript
SpringBoot+随机盐值+双重MD5实现加密登录
SpringBoot+随机盐值+双重MD5实现加密登录
254 1
|
2月前
|
算法 Java 开发工具
使用阿里云KMS产品针对 Springboot 接口参数加密解密功能
针对Springboot里面使用开源工具使用加解密,替换成阿里云KMS产品进行加解密;
168 1
|
3月前
|
存储 前端开发 算法
加密算法在网络通信中的应用及优势分析
本文将探讨加密算法在网络通信中的重要性,以及不同加密算法的应用和优势。通过对前端、后端、Java、Python、C、PHP、Go等多种技术的分析,我们将了解在日益增长的网络威胁下,加密算法对于确保数据安全和隐私保护的必要性。
|
3月前
|
数据安全/隐私保护
BurpSuite8.2 -- 解决参数加密问题
BurpSuite8.2 -- 解决参数加密问题
23 0
|
3月前
|
JSON 算法 Java
SpringBoot 实现接口参数加密解密功能
SpringBoot 实现接口参数加密解密功能
176 0
|
4月前
|
PHP 数据安全/隐私保护