0x00 起因
某天做梦,梦见老板让我对这个网站渗透,我打开一看,诶!!!前端js加密???
0x01 入手
1.相信不少小伙伴在渗透过程中都遇到过,抓包中存在着一些加密传输字符
2.当我们作为一个毫无办法的新手时,我们需要做的第一件事就是“搜”。
3.搜什么呢?如上图数据包,哪里加密搜哪里。这里搜frameUrlSecretParam与frameBodySecretParam。
4.我们的frameUrlSecretParam搜出来存在与一段混淆加密的js里。
9.很明显encryptAjaxParams就是我们frameBodySecretParam的核心加密函数了,那么入手工作就已完成。
0x02 代码分析一
1.重新回到断点,在停到断点时,选择步进函数,进入到加密函数本体,代码被混淆了。
3.核心分析点为
4.这是javascript的三目运算,百度即可。类似if else。
5.具体混淆代码代表是什么东西,通过查看数据的值来进行判断。
6.问号前是条件语句,而windows是全局浏览器对象,那么对象里的这个是什么呢?我们用python print一下就知道了。答案是useSm2Encrypt。
7.那么我们现在断在断点前面,使用console进行打印。
8.这里就是空,也是false,代表使用冒号后面的条件进行加密。
9.简单阅读一下功能,_0x4b8958是我们的原参数,mini_0xbfd749(0x210),熟悉js应该知道,这里其实就是json序列化类似于JSON.stringify(),当然也可以自行百度。
暂无评论内容