Akihi6 发表于 2022-3-21 14:22

某网站登录参数加密js逆向

**目标网站:aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tLw==**

#### 分析网站

进入网站后点击使用账号登录

![](https://s1.ax1x.com/2022/03/21/qnuKw8.png)

​                                ![](https://s1.ax1x.com/2022/03/21/qnuR0K.png)

然后输入错误的账号密码查看一下XHR请求信息

![](https://s1.ax1x.com/2022/03/21/qnMfRH.png)

#### 分析参数

经过反复请求发现变化的参数只有pwd

pwd:经过加密处理

#### 寻找pwd参数加密入口

通过该XHR的initiator看到一个post请求发起

![](https://s1.ax1x.com/2022/03/21/qnKucR.png)

点击去看一下文件,进入文件之后美化一下代码

![](https://s1.ax1x.com/2022/03/21/qnK1HK.png)

发现是c(n)发出的请求

![](https://s1.ax1x.com/2022/03/21/qnKt9H.png)

打上断点之后重新点一下登录按钮,看一下时候能断到,发现可以断到

![](https://s1.ax1x.com/2022/03/21/qnKUgA.png)

查看一下n的信息,发现n.data.pwd加密了

![](https://s1.ax1x.com/2022/03/21/qnKwut.png)

然后ctrl+f 搜索一下pwd看一下是否能找到pwd加密的函数入口,可以发现

![](https://s1.ax1x.com/2022/03/21/qnKcCQ.png)

然后放开现在的断点,在这行打上断点之后重新点登录按钮发起请求,可以发现n.pwd是我输入的密码(123456),然后通过f()函数加密了,这里substr是字符串处理方法在这里起不到作用,不会的可以查一下substr方法的作用

![](https://s1.ax1x.com/2022/03/21/qnKfuq.png)

![](https://s1.ax1x.com/2022/03/21/qnKIET.png)

![](https://s1.ax1x.com/2022/03/21/qnKq29.png)

然后咱们进入f函数看一下

![](https://s1.ax1x.com/2022/03/21/qnKjDx.png)

打断点F8运行看一下,然后可以看到e参数就是咱们的未加密之前的密码,t和n还是没有传所以是undefined

​        ![](https://s1.ax1x.com/2022/03/21/qnMp5D.png)                        ![](https://s1.ax1x.com/2022/03/21/qnMErt.png)                        ![](https://s1.ax1x.com/2022/03/21/qnMnIS.png)

f函数返回结果是一个表达式,这个表达式结果最终返回的是o(r(e)),但是以防万一还是全部扣下来,然后调用看少什么

![](https://s1.ax1x.com/2022/03/21/qnMlxs.png)

![](https://s1.ax1x.com/2022/03/21/qnMIsI.png)

发现少o然后返回页面js找o函数,追进去o函数,扣下来复制到咱们的代码

![](https://s1.ax1x.com/2022/03/21/qnM7eP.png)

![](https://s1.ax1x.com/2022/03/21/qnMLFS.png)

![](https://s1.ax1x.com/2022/03/21/qnQSLq.png)

反复进行调试少什么函数扣什么函数,最后补全之后发现返回了结果

![](https://s1.ax1x.com/2022/03/21/qnQPoT.png)

![](https://s1.ax1x.com/2022/03/21/qnQkYF.png)

进行对比发现页面加密结果和运行结果相同

![](https://s1.ax1x.com/2022/03/21/qnQZl9.png)

至此pwd参数加密完成

Ayuge 发表于 2022-3-21 16:23

看到 pwd 的明文输入为 123456,再看到 pwd 处理后的结果为 e10 开头,就基本能确认是 md5 了:lol。逆向时可以记住 123456 的常规处理结果,比如 md5, sha , base64,还有 js 中的 rsa, aes 等加密中的特征值, 会减少很多工作量。

bigharvest 发表于 2022-3-21 15:42

耐心不错。。第五张图片的时候 应该可以试试猜猜是不是MD5。。意外惊喜

侃遍天下无二人 发表于 2022-3-21 15:44

所以在账号密码之后它们又加了二维码确认登录,楼主还能继续吗

凉柠 发表于 2022-3-21 16:19

确实,1楼说的,第5张图都看到md5的js加密文件了,可以直接去加密一下你的密码两个对比一下看看是不是不是再继续下去,但是楼主的精神值得学习https://s3.bmp.ovh/imgs/2022/03/896b2872041219b8.png

ciker_li 发表于 2022-3-21 18:03

学习学习

apocalypsechen 发表于 2022-3-21 19:07


谢谢分享,学习了。

amwquhwqas128 发表于 2022-3-21 21:23

谢谢作者的分享,学习了

mogoyu 发表于 2022-3-21 23:53

随软看不大懂,还是支持楼主的行为,毕竟肯专研才有成果、

你是我的人 发表于 2022-3-22 08:19

不错,学习了
页: [1] 2 3 4 5
查看完整版本: 某网站登录参数加密js逆向