在进行渗透测试过程中,在一些功能点进行参数注入或者枚举爆破等过程中,会出现参数进行加密的情况,但是我们输入参数并不是加密状态,即便测试点存在漏洞也不可能测试成功,这时候便需要将所提交参数进行加密后在进行注入,针对JS应用我们可以采用JS断点调试的方法将加密算法逆向出来,再使用插件将加密后的参数进行注入
将加密算法以及加密逻辑找出之后,将加密算法文件另存为。使用brupsuite插件JSEncrypt即可将参数运用在枚举过程中。
载入过程:
JS反调试,即禁用开发者工具,防止用户查看JS源码,保护敏感数据,防止分析代码。
JS文件在网页中可以被查看到,为了防止源码被调试,或者关键信息泄露,会对JS代码文件进行加密混淆。
常见的JS加密种类有:JJEncode AAEncode JSFuck,Sojson v4,Sojson v5,JSjiami v6 等
破解工具链接JSDec
在JS源码中,会泄露url、API信息,从而增加攻击面,如果部署了云服务,接口等服务,可能存在access key等关键信息,通过Pentestkit FindSomething Wappalyzer等浏览器插件可以收集JS代码中的信息,如password,key等,之后可以利用云利用工具上线云服务等
以上内容仅作学习,如有错误或瑕疵,欢迎批评指正,感谢阅读。