一、應用場景
在對網站進行弱口令爆破時,可能會遇到如下所示情況,即前端使用js對password進行了加密,對此情況無法使用明文或編碼進行爆破,需要了解前端加密方式并復現加密過程,使用加密后的password進行爆破。

通過網頁源代碼查看加密方式,使用JSEncrypt創建加密對象,用encrypt方法對password加密,使用的是RSA非對稱加密,公鑰為rasPublickey中的內容。

二、jsEncrypter插件安裝
1、下載jsEncrypter壓縮包
下載地址:https://github.com/c0ny1/jsEncrypter/releases/tag/0.3.2
2、在burpsuite的extender中add插件jar包,安裝成功后會burp中會增加jsencrypter的Tab

3、使用brew安裝phantomjs
brew install phantomjs or #針對brew instla時安裝core和cask的error,執行以下 git clone https://github.com/Homebrew/homebrew-core /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1 git clone https://github.com/Homebrew/homebrew-cask /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask --depth=1 brew install phantomjs
三、爆破加密弱口令
1、根據獲取的網頁加密函數修改phantomjs_server.js

將原始加密js文件下載到本地/*引入實現加密的js文件*/
使用相同加密的方式處理payload/**********在這里編寫調用加密函數進行加密的代碼************/

2、使用phantomjs運行phantomjs_server.js

3、在burp中查看加密后密文

4、在burp中將數據包發送到intruder,標記完位置后,使用jsEncrypter處理payload

|