深度剖析四层内网攻防:提升渗透测试大实验的技巧”

0x00 起因

某天做梦,梦见老板让我对这个网站渗透,我打开一看,诶!!!前端js加密???

0x01 入手

1.相信不少小伙伴在渗透过程中都遇到过,抓包中存在着一些加密传输字符

图片[1]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛

2.当我们作为一个毫无办法的新手时,我们需要做的第一件事就是“搜”。
3.搜什么呢?如上图数据包,哪里加密搜哪里。这里搜frameUrlSecretParam与frameBodySecretParam。
4.我们的frameUrlSecretParam搜出来存在与一段混淆加密的js里。

图片[2]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛
图片[3]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛
图片[4]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛

9.很明显encryptAjaxParams就是我们frameBodySecretParam的核心加密函数了,那么入手工作就已完成。

0x02 代码分析一

1.重新回到断点,在停到断点时,选择步进函数,进入到加密函数本体,代码被混淆了。

图片[5]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛

3.核心分析点为

4.这是javascript的三目运算,百度即可。类似if else。
5.具体混淆代码代表是什么东西,通过查看数据的值来进行判断。

6.问号前是条件语句,而windows是全局浏览器对象,那么对象里的这个是什么呢?我们用python print一下就知道了。答案是useSm2Encrypt。

7.那么我们现在断在断点前面,使用console进行打印。


8.这里就是空,也是false,代表使用冒号后面的条件进行加密。

图片[6]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛

9.简单阅读一下功能,_0x4b8958是我们的原参数,mini_0xbfd749(0x210),熟悉js应该知道,这里其实就是json序列化类似于JSON.stringify(),当然也可以自行百度。

图片[7]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛
图片[8]-深度剖析四层内网攻防:提升渗透测试大实验的技巧”-山海云端论坛
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容