zoukankan      html  css  js  c++  java
  • Python高级爬虫实战,JS解密咪咕音乐登录参数分析

    目标:分析咪咕视频登录参数(enpassword、fingerPrint、fingerPrintDetail)

    工具:NodeJs + Chrome 开发者工具

    很多人学习python,不知道从何学起。
    很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
    很多已经做案例的人,却不知道如何去学习更加高深的知识。
    那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
    QQ群:101677771

    许久没有水文了,闲来无事特来混混脸熟

     

    enpassword

    找到登录入口:

    查找方式:

    点击登录 —> 开启chrome开发者工具 -> 重载框架 —> 抓到登录包

    如下:

    加密参数寻找

    清空之后,使用错误的账号密码登录。一共两个包两张图片。图片开源不看,具体看包,最后在authn包中看到了我们登录所加密过的三个参数,如下

    海里捞针-找参数

    在搜索框(ctrl + shift + F )下搜索enpassword参数,进入source File 发现link 93,name并未加密;那么就是在它的class 属性 J_RsaPsd中。再次找!

    海里捞针-找参数、埋断点

    找到三个 J_RsaPsd,每个都上断点,然后在点登录一下

    encrypt:加密函数,b.val加密对象(输入的密码)

    将其扣出来!

    为什么扣这里?因为这里为加密处!由明文转为密文。那我们拿到这些就以为着拿到了加密的函数。就可以自己实现加密

    c = new p.RSAKey;
    c.setPublic(a.result.modulus, a.result.publicExponent);
    var d = c.encrypt(b.val());

    该写如下:(js丫)

    虽然我们加密的函数已经找到了,but,我们是在自己的环境下并不一定有这个函数(c.encrypt)。所以现在需要去找c.encrypt

    新问题:p.RSAKey;没有定义;回到chrome进入p.RSAKey-(选中点击进入f db())

    进入f db()扣出这个方法,然后改写

    寻找a.result.modulus, a.result.publicExponent两个参数,

    其实是publickey包返回的结果那么至此enpassword加密完成

    补两个环境参数

    fingerPrint、fingerPrintDetail参数破解

    link480 下断点点击下一步,运行

    运行一步, 进入RSAfingerPrint函数内,把o.page.RSAfingerPrint方法抠出来

    在页面中观察a,b参数

    观察发现:

    其实a,b,就是我们的a.result.modulus, a.result.publicExponent,

    继续寻找;这两个

    浏览器里面测一下,把他从console拿出来

  • 相关阅读:
    一个好用的,个人记事本应用,软件joplin
    aws EKS EFS 上安装mysql Operation notpermitted
    多变量的线性回归
    批量梯度下降BGD、随机梯度下降SGD和小批量梯度下降MBGD对比
    单变量线性回归
    数据库限制内存使用方法
    C# 调用 Excel 宏的方法
    Markdown 使用方法总结
    VBA注意事项
    将CSV文件中的数据导入到SQL Server 数据库中
  • 原文地址:https://www.cnblogs.com/shann001/p/13475585.html
Copyright © 2011-2022 走看看