渗透测试实战 | 记一次JS逆向分析

2024-08-12 130 0

一、前言

接到某系统的渗透测试,仅仅一个注册和登录,本以为常规低危三连,却发现连一个明文传输都不给机会(非真实业务系统照片,信息敏感,稍微打码一下,抱歉~~)

渗透测试实战 | 记一次JS逆向分析插图

输入任意账户密码进行抓包,分析请求包及返回包均是加密,很绝望 ~,经过观察可知请求包的加密是双引号中间是加密内容,响应包是直接返回加密内容的

渗透测试实战 | 记一次JS逆向分析插图1

二、加密分析

通过前端JS分析,找到login.js分析用户名/密码会被一个Encrypt函数进行加密,在loginName、password下断点,进入到Encrypt函数里面,动态调试一下具体的加密方式

渗透测试实战 | 记一次JS逆向分析插图2

逐步调试中可以获取IV值(硬编码在JS文件)、KEY是动态获取(239行)以及补码方式ZeroPadding,但不确定mode的,下一步要跟进到55c函数里面分析具体的加密方式          渗透测试实战 | 记一次JS逆向分析插图3

渗透测试实战 | 记一次JS逆向分析插图4

通过进一步的动态分析,可看到为CBC模式

渗透测试实战 | 记一次JS逆向分析插图5

渗透测试实战 | 记一次JS逆向分析插图6

跳出该55c观察一下Encrypt函数最终的返回的jsonStr为最终的加密内容,等于是请求包的 ”加密登陆“

渗透测试实战 | 记一次JS逆向分析插图7

在分析一下如果要登陆的话,需要满足什么格式,为后续的脚本做铺垫,持续跟进getGuid函数、salt获取方式

渗透测试实战 | 记一次JS逆向分析插图8

函数JS已经写好了,salt就是获取当前时间戳了

渗透测试实战 | 记一次JS逆向分析插图9

渗透测试实战 | 记一次JS逆向分析插图10

三、解密分析

有加密肯定有解密,直接在login.js中找到Decrypt函数,打上断点进入函数进行动态调试分析(进入到55c函数分析应该和上面一致了)

渗透测试实战 | 记一次JS逆向分析插图11

渗透测试实战 | 记一次JS逆向分析插图12

四、编写Python脚本实现自动化加解密

现在确定了AES/CBC/ZeroPadding,KEY/IV,直接chatGPT生成Python脚本,再结合具体的功能进行微调

渗透测试实战 | 记一次JS逆向分析插图13

先找一个测试数据验证一下是否正确,通过系统的F12控制台进行分析

渗透测试实战 | 记一次JS逆向分析插图14

本地测试当前的加密和解密状态

渗透测试实战 | 记一次JS逆向分析插图15

控制台调用函数加密解密状态,发现一致,证明脚本没有啥问题

渗透测试实战 | 记一次JS逆向分析插图16

五、漏洞挖掘

由于这一套系统是做了登陆失败次数等限制,主要还是测试一个爆破登陆(非实际真实漏洞),这开发的安全意识还是很高的

渗透测试实战 | 记一次JS逆向分析插图17

渗透测试实战 | 记一次JS逆向分析插图18

渗透测试实战 | 记一次JS逆向分析插图19

六、总结

遇到这种加密情况,只能找具体的JS加密方式尝试进行解密,由于信息敏感,打码较为严重,望见谅,主要还是分享思路。


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

HTB-Infiltrator:一文带你走进域渗透
JAVA安全 | Classloader:理解与利用一篇就够了
多角度揭秘威胁行为组织CryptoCore复杂的加密货币欺诈活动
网络空间的“边水往事”?针对华语黑产及用户进行攻击的 APT-K-UN3 活动分析
伪装“黑神话悟空修改器”传播木马的活动分析
靶场战神为何会陨落?

发布评论