• 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拿出来

  • 相关阅读:
    Zero-Copy&sendfile浅析
    Redis数据清除问题
    Redis官方文档》持久化
    GNU C 、ANSI C、标准C、标准c++区别和联系
    有关jQuery valid 验证多个同name属性的input的问题
    jQuery validator 增加多个模板
    archiver error. Connect internal only, until freed. 之解决办法
    链接ftp,把文件或图片上传到ftp指定的文件夹中
    java 数字金额转换中文金额
    java工具类 --千分位方法
  • 原文地址:https://www.cnblogs.com/shann001/p/13475585.html
Copyright © 2020-2023  润新知