前端加密爆破插件 | jsEncrypter

华盟原创文章投稿奖励计划

网友原创投稿,作者:Jues

01 插件简介


jsEncrypter:使用phantomjs(一个没有界面的浏览器)启动前端加密函数对数据进行加密,方便对加密数据输入点进行fuzz,比如可以使用于前端加密传输爆破等场景。

项目地址:

https://github.com/c0ny1/jsEncrypter

02 使用场景


在前端渗透过程中,常会遇到需要进行爆破,但密码字段使用了自定义加密算法加密的情况。此时可以使用Burp配合jsEncrypter插件自定义加密算法进行爆破。流程图

前端加密爆破插件 | jsEncrypter

03 使用介绍

在某单位授权的一次渗透中,抓包发现,目标站点登陆页面的password字段进行了加密,可以看出不是常见的base64、MD5加密

前端加密爆破插件 | jsEncrypter

立马Ctrl+U翻前端代码,发现点击登陆按钮后,会执行login.js文件中login()方法,大致内容为:将password字段调用RSA加密脚本进行加密

前端加密爆破插件 | jsEncrypter

找到RSA加密脚本security.js以及生成RSA公钥所需的指数和模数

前端加密爆破插件 | jsEncrypter

得到以上信息,便可以使用jsEncrypter插件进行爆破。

使用方法:

1、使用mvn将jsEncrypter编译后,添加到Burp Extender模块

2、将模板文件 /test/TestScript/Base64/jsEncrypter_base64.js复制一份到 /桌面/jsEncrypter_rsa.js

3、将页面使用的RSA加密算法security.js文件保存到 /桌面/rsa.js,在jsEncrypter_rsa.js中引入rsa.js加密算法文件,并将页面login.js调用加密的代码及生成RSA公钥所需的指数和模数复制到js_encrypt方法中。(传入js_encrypt


前端加密爆破插件 | jsEncrypter


方法中的payload参数为通过Burp传入需要加密的数据,通过调用rsa.js加密函数加密后,返回RSA加密后的数据newpayload)


前端加密爆破插件 | jsEncrypter

4、打开CMD输入命令:phantomjs.exe jsEncrypter_rsa.js此时phantomjs已经开启1664端口接收Burp传入的数据


前端加密爆破插件 | jsEncrypter

5、使用Burp intruder模块进行爆破(设置payload Processing为invoke Burp extension),此时数据已经是经过RSA加密过后的值

前端加密爆破插件 | jsEncrypter

前端加密爆破插件 | jsEncrypter

6、如爆破成功后,可在CMD窗口中查看对应的正确密码


前端加密爆破插件 | jsEncrypter

本文链接:

http://129.204.90.119/index.php/archives/13/

本文原创,作者:张,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/266543.html

发表评论