网友原创投稿,作者:Jues
01 插件简介
jsEncrypter:使用phantomjs(一个没有界面的浏览器)启动前端加密函数对数据进行加密,方便对加密数据输入点进行fuzz,比如可以使用于前端加密传输爆破等场景。
项目地址:
https://github.com/c0ny1/jsEncrypter
02 使用场景
在前端渗透过程中,常会遇到需要进行爆破,但密码字段使用了自定义加密算法加密的情况。此时可以使用Burp配合jsEncrypter插件自定义加密算法进行爆破。流程图
03 使用介绍
在某单位授权的一次渗透中,抓包发现,目标站点登陆页面的password字段进行了加密,可以看出不是常见的base64、MD5加密
立马Ctrl+U翻前端代码,发现点击登陆按钮后,会执行login.js文件中login()方法,大致内容为:将password字段调用RSA加密脚本进行加密
找到RSA加密脚本security.js以及生成RSA公钥所需的指数和模数
得到以上信息,便可以使用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
方法中的payload参数为通过Burp传入需要加密的数据,通过调用rsa.js加密函数加密后,返回RSA加密后的数据newpayload)
4、打开CMD输入命令:phantomjs.exe jsEncrypter_rsa.js此时phantomjs已经开启1664端口接收Burp传入的数据
5、使用Burp intruder模块进行爆破(设置payload Processing为invoke Burp extension),此时数据已经是经过RSA加密过后的值
6、如爆破成功后,可在CMD窗口中查看对应的正确密码
本文链接:
http://129.204.90.119/index.php/archives/13/
推荐文章++++
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论