前端加解密插件 | jsEncrypter


  • 插件介紹

jsEncrypter:使用phantomjs(一個沒有界面的瀏覽器)啟動前端加密函數對數據進行加密,方便對加密數據輸入點進行fuzz,比如可以使用於前端加密傳輸爆破等場景。

項目地址:https://github.com/c0ny1/jsEncrypter

  • 使用場景

在前端滲透過程中,常會遇到需要進行爆破,但密碼字段使用了自定義加密算法加密的情況。此時可以使用Burp配合jsEncrypter插件自定義加密算法進行爆破。流程圖

 

  • 使用介紹

 在某單位授權的一次滲透中,抓包發現,目標站點登陸頁面的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窗口中查看對應的正確密碼

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM