逆向新手

V1

2022/10/31阅读:16主题:Obsidian

土巴兔登陆pwd分析

声明

本文仅供学习参考,请勿用于其他途径,违者后果自负!

前言

目标网站:aHR0cHM6Ly93d3cudG84dG8uY29tL25ld19sb2dpbi5waHA=

接口:aHR0cHM6Ly93d3cudG84dG8uY29tL25ld19sb2dpbi5waHA=

参数分析

抓包看到有两处加密,分别是 val 和 pwd。 在这里插入图片描述 由于该请求不是 xhr,所以没有办法在这里下 xhr 断点。只能通过搜索关键字去找加密的文件,搜索 password 会发现有很多 js 文件。通过观察 js 文件的名字,发现了端倪。 loginAndReg.js命名的文件很可疑,跳入该文件继续搜索关键字。

一共 7 处,分别打上断点,重新请求。 在这里插入图片描述

断点断在 133 行,此时的 usernum 还是明文,F8 跳到下一个断点,发现此时已经将密码的 val 设置为密文,val 函数中的值是一个函数。看名字就知道是一个 rsa 加密,直接将明文传入生成密文。然后将密码设置为密文。

136 行发现 username 也是同样操作,都是将加密后的结果设置为密文。

既然加密函数找到了,直接跳进观看加密逻辑。

在这里插入图片描述 将加密后的结果进行编码。

先把内层的函数拿下来,encodeURIComponent 是 js 的自带函数直接使用就可以了。 在这里插入图片描述

继续跳入就可以看到 rsa 的全部逻辑都在这里了,直接 cv 到本地。 在这里插入图片描述 navigator 未定义,直接在开头定义一个。

 navigator = {};

重新加载代码发现 window 未定义。 在这里插入图片描述

同理,在开头定义一下。

window = this;

重新加载发现没有问题了。

然后把加密函数写一下

function rsaString(str{
    return encodeURIComponent(RSAUtilszb.encryptfun(str));
}

重新加载,运行。 在这里插入图片描述

最后得到结果。

这里只是将 pwd 进行了加密,username 的加密也是一样的,将参数改变一下即可。

分类:

后端

标签:

Node.js

作者介绍

逆向新手
V1