JS逆向之——天翼云登录

JS逆向之——天翼云登录

前言

此文章仅用于技术交流,欢迎指出相关问题,感兴趣的可以关注我,有相关python逆向问题可以私信交流讨论。

目标与目的

目标网站:天翼云登录

目的:通过构建登录参数,完成天翼云的登录操作。

相关技术

本题涉及两个方面的参数构造:

  1. 密码构造:登录时将密码通过加密,生成密文传递给服务器
  2. 几个相关参数构造:未涉及加密算法,为时间戳与随机数通过一定的计算后生成的几个可变化的值。

本题涉及的js知识点:
(个人理解,或有误,后续认识加深再来调整)

  • webpack打包:js代码通过wwebpack打包后会生成固定模式,该模式有标准的三段式,1. 自执行的函数;2. 加载器;3. 具体的模块代码。
  • 代码在被调用时会将模块对应的id传给加载器,通过加载器去运行指定代码。

1.目标参数

JS逆向之——天翼云登录_第1张图片

参数说明

  • userName:用户名
  • password:密码
  • referrer:wep (固定,wep端)
  • mainVersion: 300021100 (固定)
  • comParam_curTime:时间戳
  • comParam_seqCode:计算所得
  • comParam_signature:计算所得
  • isCheck:true(固定值)
  • locale:zh-cn(固定值)

2. 查找密码生成逻辑

  • 在控制台搜索关键词"password",这里有一个小技巧:搜索时加上"=" 或者 ":"等赋值符号,可能更快的找到相应位置。(如果搜不到,或者因为粗心没找到,那就可以先搜别的参数,比如 username。或者通过xhr断点向上找堆栈)。可以找到密码的生成位置如下:

  • JS逆向之——天翼云登录_第2张图片

  • 此时打断点,重新登陆,可以看到a.value就是原始密码

  • JS逆向之——天翼云登录_第3张图片

  • 现在可以将生成密码的这段代码复制到控制台运行,确定该行代码即是密码生成逻辑

  • JS逆向之——天翼云登录_第4张图片

  • Object(w["c"])Object(w["f"])Object(w["g"])拿到控制台运行,他们对应的是三个函数。

  • 在这里插入图片描述

  • 分别对三个函数进行分析,发现Object(w["c"])中有DES加密,关键点就在p对象。

  • JS逆向之——天翼云登录_第5张图片

3. 简单还原密码加密

这里使用第一种方法简单还原密码加密,生成密文。

  • 通过使用crypto-js模块,构造p对象,具体代码如下:

  • JS逆向之——天翼云登录_第6张图片

  • 通过构造p对象,运行代码后,即可完成密码的加密。

  • 至此密码已经还原,但是出于学习的目的,应该尽量不用第三方插件来完成。而且若开发者将加密算法进行魔改,那这种引第三方包的方式肯定是不OK的。故继续向下。

4. 通过扣代码完成密文生成

上面已经找到关键点,对象p。此时若能够找到p对象的生成逻辑,将代码拿过来那就可以大功告成了。

  • 断点调试查找p的生成过程,可以看出刚进入M函数,p对象就已经生成了。

JS逆向之——天翼云登录_第7张图片

  • 向上找p的生成逻辑,p = t.n(l),l = t(“3452”)
  • JS逆向之——天翼云登录_第8张图片

思路到这,大体为找到3452函数,构建函数执行就行,此时全局搜或者查看堆栈都行,我是找的堆栈,然后倒入熟悉的webpack格式。

JS逆向之——天翼云登录_第9张图片

然后全局搜索3452函数即可,发现有这么多模块需要添加

JS逆向之——天翼云登录_第10张图片

通过堆栈或者全局搜索exports找到加载器位置,然后将其复制,替换模块即可

JS逆向之——天翼云登录_第11张图片

JS逆向之——天翼云登录_第12张图片

由于模块太多了,我就不一一构建了。构建完的函数大体为下:

JS逆向之——天翼云登录_第13张图片

最后调用代码如下

JS逆向之——天翼云登录_第14张图片

5. 其他参数构造

其他几个参数不涉及加密算法,还原也较为简单,基本步骤也是先找构造位置,然后把代码提取出来,运行,缺什么补什么。

  • 关键词搜索

JS逆向之——天翼云登录_第15张图片

  • 提取代码为:

  • JS逆向之——天翼云登录_第16张图片

  • 打印结果为

  • JS逆向之——天翼云登录_第17张图片

6.书写py代码

导入js文件替换相关参数即可[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
JS逆向之——天翼云登录_第18张图片

成功登录如下图所示

JS逆向之——天翼云登录_第19张图片

你可能感兴趣的:(js逆向,python,java,开发语言,js,爬虫)