某易云音乐登录参数分析

简介: 某易云音乐登录参数分析
项目地址:aHR0cHM6Ly9tdXNpYy4xNjMuY29tLw==

观前提示:

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


 定位加密点

老规矩先找包

根据包返回内容判断是否为关键包确定了查看参数

可见到有俩个参数皆为密文 小本本记下来 params  encSecKey


全局搜索看看

 params


结果很多 那我们一个一个看一个一个下断点?那就太麻烦了 我们不是还有另外一个参数嘛 搜一搜再决定也不迟

 encSecKey

对比一下 这个就很舒服了

接下来就是常规操作啦 观察下断点

简简单单 加密位置就找到了 接下来就是分析一下加密逻辑扣代码啦



 逻辑分析

由逻辑可知

params => encText

encSecKey=>encSecKey

所以对应的值也就很清晰了

 params

h.encText = b(d, g),  
  h.encText = b(h.encText, i)

参数分析

d为明文

    password

       看起来像是md5 经过测试 的确是md5不管

    checkToken

       这个是易盾风控 不讲 讲起来太多了

{
  "phone":"xxxxxxxxxxxx",
    "password":"e10adc3949ba59abbe56e057f20f883e",
    "rememberLogin":"true",
    "checkToken":"9ca17ae2e6ffcda170e2e6ee97c968e9f183d4fc61bab48fb7d45b938a8a84f14dfba6f984aa61e9b2ff90c52af0feaec3b92a8cb9bad3d36df894aa82c84f869b9fa6c45ba8f58dd6fc7baeabffd0cd7be9adee9e",
    "csrf_token":""
    }

g按猜测应该是key

b函数进来

AES明晃晃出现在眼前

   iv=>0102030405060708

   mode=>CBC

也顺便验证了g为传入key

然后往上堆栈看key是怎么来的

直接往上找最后一个变量怎么来就行了

看起来像是固定的了

   key=>0CoJUm6Qyw8W8jud

经过观察encText被AES了俩次 密匙不同

第一次key 为 0CoJUm6Qyw8W8jud

第二次key 为 a(16) 的方法

a方法进去观察一波发现 这不就是随机数16位字符串嘛

function a(a) {
        var d, e, b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", c = "";
        for (d = 0; a > d; d += 1)
            e = Math.random() * b.length,
            e = Math.floor(e),
            c += b.charAt(e);
        return c
    }


逻辑分析好直接套库就行了


 encSecKey

这个逻辑很简单 就一行加密代码

h.encSecKey = c(i, e, f)

参数分析

i=>前面第二次aes的key

e=>010001固定

f=>

使用 bqN4R(Ya2x.md)进行加密得到f值

全局搜索一下Ya2x.md确定是不是动态

由搜索可知大概是固定的

f=>00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7


参数分析完就来分析一波 c 函数

点击进入函数



这就直白的RSA加密啦 接着把我们刚刚分析的参数带上去加密就行了


整理一下逻辑

i=a(16);//生成动态key
h.encText = b(d, g) //第一次加密固定key
h.encText = b(h.encText, i) //第二次加密动态key
h.encSecKey = c(i, e, f)//把第二次加密的动态key进行rsa加密

所以encTextencSecKey这俩个参数是绑定的 不然服务器rsa解密不到第二次的key就无法解密出正确的结果


到此 这俩个参数加密逻辑就分析完成啦 js就不扣了





感谢各位老板的观看

相关文章
|
21天前
|
SQL DataWorks 数据管理
DataWorks操作报错合集之在查找支持实例错误的时候提示:无法承担用户的角色,请检查RAM角色配置,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4天前
|
运维 安全 Serverless
函数计算产品使用问题之登陆函数实例之后如何查看函数的日志
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4天前
|
运维 Serverless 数据处理
函数计算产品使用问题之创建了AgentCraft应用,登录-注册无法通过,是什么导致的
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
26天前
参数验证工具
参数验证工具
9 0
登录next cloud出现,“我们检测到您的 IP 进行了多次无效登录尝试。因此,你的下一次登录最长会延迟30秒。”问题解决
登录next cloud出现,“我们检测到您的 IP 进行了多次无效登录尝试。因此,你的下一次登录最长会延迟30秒。”问题解决
613 0
登录next cloud出现,“我们检测到您的 IP 进行了多次无效登录尝试。因此,你的下一次登录最长会延迟30秒。”问题解决
|
12月前
|
SQL 数据库连接 数据库
学生信息登录系统总结一
在敲学生系统的时候,进行登录学生管理学生信息登录,当时就是出师不利,还没有进入主界面就被卡在外面直接坐上了冷板凳,没想到道路刚开始就是如此坎坷,频繁报错那么就列举出3个具有代表性的问题,这个问题也是困扰了我许久,一直得不到解决,还是老办法站在巨人的肩膀上,通过查阅资料那些前辈们的的博客也是知道,不光自己也是遇到了类似的问题,通过借鉴大神的们的博客总结,让自己也是有了信心,感觉自己也能解决,但是事与愿违,往往想的都是很美好的,现实很残酷,跌宕起伏,排山倒海,猛龙过江,心情跟做过山车一样。
60 0
|
12月前
|
Shell 开发工具 数据安全/隐私保护
写一个批量创建10个用户的脚本users.sh。创建的用户名由字母和数字组成。设置用户的初始密码跟用户名相同,每创建一个用户就显示用户的ID信息,再显示用户名、密码信息。
写一个批量创建10个用户的脚本users.sh。创建的用户名由字母和数字组成。设置用户的初始密码跟用户名相同,每创建一个用户就显示用户的ID信息,再显示用户名、密码信息。
79 0
|
12月前
|
PHP
php常用自建函数学习(4):ShowMsg返回弹出信息并进行返回、跳转、刷新等操作
php常用自建函数学习(4):ShowMsg返回弹出信息并进行返回、跳转、刷新等操作
94 0
|
小程序 开发工具 C#
微信公众号支付提示mch_id参数格式错误
微信公众号支付提示mch_id参数格式错误
530 0