Samuel2h3 发表于 2020-3-14 19:27

JS逆向 某某街 | 某乐网 加密算法分析

一个简单的md5加密算法,非常适合新手练习

链接:

> aHR0cDovL3d3dy5jaHVjaHVqaWUuY29tL2luZGV4Lmh0bWw=

#### 0x01. 分析请求

通过输入账号密码抓包查看加密字段

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTAxXzIwLTAwLTM2LnBuZw?x-oss-process=image/format,png)

#### 0x02. 定位加密位置

直接通过检索<font color="red">`password:`</font>

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTAxXzIwLTAzLTE5LnBuZw?x-oss-process=image/format,png)

#### 0x03. 分析加密

一个一个排查,最终我们找到了加密的地方,md5加密,打上断点进行调试,重新点击登录,停在了我们断点的地方

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTAxXzIwLTExLTM1LnBuZw?x-oss-process=image/format,png)

然后我们继续追进去,代码如下

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTAxXzIwLTEzLTIxLnBuZw?x-oss-process=image/format,png)

其中传入了三个参数,我们打断点调试一下,其中 string 是我们的密码,key和raw都是 undefined,我们把它们两个都等于空字符串就可以了

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTAxXzIwLTE4LTQyLnBuZw?x-oss-process=image/format,png)

#### 0x04. 测试结果

接下来我们把这个文件的代码全部抠出来,然后进行重写,就可以了

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE3LTQzLTE1LnBuZw?x-oss-process=image/format,png)



**一个rsa加密练习**

链接:

> JXU4RkQ5JXU5MUNDJXU2NjJGJXU4OTgxJXU1MkEwJXU1QkM2JXU3Njg0JXU1MTg1JXU1QkI5JXVGRjAxaHR0cHMlM0EvL29hdXRoLmQuY24vYXV0aC9nb0xvZ2luLmh0bWw=



#### 0x01分析请求

通过输入账号密码抓包查看加密字段,很明显,只有密码被加密了,接下来我们全局搜索 pwd

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE3LTI4LTIwLnBuZw?x-oss-process=image/format,png)

#### 0x02. 定位加密位置

我们直接全局搜索 pwd,会发现搜到的东西很多,

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE3LTMxLTIzLnBuZw?x-oss-process=image/format,png)

我们换个思路,直接搜索 pwd = ,会发现只有一个,然后我们点进去,打上断点

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE3LTMyLTMzLnBuZw?x-oss-process=image/format,png)

#### 0x03. 分析加密

点击登录,会停在我们打断上的地方,可以看到, rsa函数对我们的密码进行了处理

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE3LTMzLTU5LnBuZw?x-oss-process=image/format,png)

我们跟进 rsa 看一下

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE3LTM1LTM3LnBuZw?x-oss-process=image/format,png)

很明显的看到,就是一个 rsa 加密,其中 arg 是我们输入的密码,接下来我们使用 先把这一段代码扣下来(进行一些修改,使用node进行调试输出,如下

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE4LTI1LTI3LnBuZw?x-oss-process=image/format,png)

运行发现缺少 setMaxDigits,然后我们全局搜索 setMaxDigits,然后跟进去,把其中的代码全部复制出来

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE4LTI4LTE0LnBuZw?x-oss-process=image/format,png)

我们再运行,发现缺少RSAKeyPair,然后我们全局搜索它,把其中的代码全部复制出来

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE4LTI5LTI4LnBuZw?x-oss-process=image/format,png)

然后我们一次一次调试,缺什么补什么,直到不再缺少函数或者参数

#### 0x04 测试结果

可以看到,我们已经拿到加密后的密码

![](https://imgconvert.csdnimg.cn/aHR0cDovL21pbmd5YW5nOTIwLmNvbS9ibG9nL2ltZy9TbmlwYXN0ZV8yMDIwLTAzLTE0XzE4LTMzLTAwLnBuZw?x-oss-process=image/format,png)

以上就是今天的内容了,本文仅供学习交流使用,如有任何利益问题请联系笔者删除,祝大家学习愉快

代码:(https://github.com/Alex-blip/JsSpider)

魔道书生 发表于 2020-7-4 20:47

Samuel2h3 发表于 2020-3-15 10:14
我以为这两个比较简单,就没有写那么详细
下次一步一步来,不省略过程了

哇塞 楼主 你把我害惨了 第二个RSA你省略了亿点点 就亿点点 我从8点找到9点 可算是正常输出了你赔我CB{:301_971:}

Samuel2h3 发表于 2020-3-15 13:34

小k666 发表于 2020-3-15 13:21
那把代码全部复制下来,再运行密码相关的函数岂不是不用找了?

代码太多了,而且你要找到,对应的加密函数,知道怎么执行的,才知道怎么调用

dshilei 发表于 2020-3-14 19:50

学习一下,正好在学爬虫~~~~~

Jack-lee 发表于 2020-3-14 20:03

这是什么编辑器

Samuel2h3 发表于 2020-3-14 20:07

Jack-lee 发表于 2020-3-14 20:03
这是什么编辑器

Pycharm,Python的编辑器

bjxiaoyao 发表于 2020-3-14 20:11

感谢楼主分享精彩教程

Jack2002 发表于 2020-3-14 20:48

扣代码教程!!!

DemoCc10 发表于 2020-3-14 22:06

收藏先,谢谢大佬

kof888 发表于 2020-3-14 23:10

感觉好好高级完全不会。

Samuel2h3 发表于 2020-3-15 10:12

kof888 发表于 2020-3-14 23:10
感觉好好高级完全不会。

其实就是打断点,扣代码,一步一步调式,就可以了

Samuel2h3 发表于 2020-3-15 10:14

Jack2002 发表于 2020-3-14 20:48
扣代码教程!!!

我以为这两个比较简单,就没有写那么详细:lol
下次一步一步来,不省略过程了
页: [1] 2 3
查看完整版本: JS逆向 某某街 | 某乐网 加密算法分析