Bootstrap

【JS逆向】XX网 Post参数以及数据加密【Base64+Aes+Des】

注意:文章内容仅用于学习和技术交流,如有侵权请联系我删除。

学者应洁身自好,切勿做出违法的事情,旨在提供逆向思路。

➣➣欢迎关注本人微信公众号Anonymous NoteBook➣➣

分享好玩有趣的网络资源&软件工具~

分享各种技术性PDF资源/付费查询PDF资源~

分享各种编程语言、开发技术、分布式事务、大数据与云计算技术~

分享有关网络爬虫(Web爬虫逆向 | 安卓逆向)案例、数据挖掘、技术心得等~

aHR0cHM6Ly93d3cuenExMjM2OS5jb20vZW52aXJvbm1lbnQucGhwP29yZGVyPWRlc2MmdGFiPXJhbms=

问题分析:

请求url,打开调试工具查看请求接口,发现post参数以及返回数据都是加密后的数据:

其实没什么难的,直接搜、调、抠就行。

逆向分析:

全局搜索”param“ 关键字,有一条很可疑:

点进去看下:

很明显,这里就是参数加密以及response数据解密的地方,根据代码中的逻辑就可以看出来,线分析param:

 param 是从getParam函数的结果中得来,传进去两个参数 method、obj, 这两个参数都是固定的,调试下就知道:

 跟进去getParam函数内看下:

 返回AES加密数据,这一步很简单,继续跟下去AES.encrypt函数:

妥妥的AES加密流程,在调试过程中,把固定的值复制一下,在本地js文件中声明下就可以了,不做过多讲解,到这里param加密参数完成。

开始分析页面结果结果函数:

先使用解密函数对数据进行解密,然后使用base64的decode方法继续反解,最后使用eval函数,先看下decryptData函数:

 这里使用的DES,往上翻可以找到DES相关函数:

 这一步完成,得到的结果使用base64反解:

 跟进匿名函数看下:

进入了Base64函数体内,整个文件100多行:

直接拷贝所有 到本地,完成。

最后的eval函数,是js的自执行函数,可以用也可以不用,对结果没影响。

最后,我们把分析过程中所需要的相关函数以及变量,都复制到本地中,开始调试:

运行 正常。

同时,我们把页面返回的加密数据,复制一下粘贴到本地,进行解密尝试:

 同样正常。

至此,逆向分析完毕。

完事~~~~ 收工~~~~

;