某公众平台的登陆js逆向(一)

开头:

本系列仅仅是本人开始学习逆向练手项目,记录一下自己的逆向之路。

逆向过程分析:

我们进入到某网站的登陆页面,

首先我们输入一些错误的登陆数据,打开开发者工具进行接口抓包

 通过观察,我们可以看到只有参数pwd进行了加密,

那么我们就全局搜索一下pwd,看看有没有什么发现。

通过查找,发现了一处可疑的地方,并打上断点,

再重新click 登陆请求

果不其然!断点停住了 

我们输出的密码为12345

 可见传入m的参数就是为我们的密码的截取前16位,

现在我们来继续跟进一下m函数。

虽然是一大坨看不懂的东西,但是我们知道这个return返回的东西就是 加密过的pwd,

并且传入的参数 t 和 n 都是 null

因此我们可以先改写一下函数,得到一个return pwd的函数

 并尝试将上面看起来相关的一部分js代码 拷贝到调试工具中

 并调用getPwd("123456")方法,

惊喜的得到了结果!

并且经过多次运行,发现返回的结果的值都是相同的,

因此考虑到有可能是md5算法加密的,

md5算法加密后产生是固定长度的 (一般为16或32位)数据,

至此,我们完成了数据的解密。

import execjs
# 1、实例化一个node对象
node = execjs.get()
# 2、js源文件源文件编译
ctx = node.compile(open('wechat.js', encoding='utf-8').read())
# 3、执行js代码
pwd = ctx.eval('getPwd("123456")')
print(pwd)

运行结果:

e10adc3949ba59abbe56e057f20f883e

 后续将相应固定数据进行补全,再发送post请求。

声明:本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值