BurpCrypto在Web滲透測試中有一個關鍵的測試項:密碼爆破

目前越來越多的網站系統在登錄接口中加入各式各樣的加密算法,依賴于BurpSuite中的那些編碼方式、Hash算法已經遠遠不夠,這里給大家介紹一款支持AES/RSA/DES加密算法,甚至可以直接將加密算法的Javascript腳本運行與BurpSuite中的插件:BurpCrypto。

安裝

下載已編譯好的版本,或下載源代碼本地編譯,然后在BurpSuite的擴展列表中添加插件即可。

使用方法

BurpCrypto安裝完成后會在BurpSuite中添加一個名為BurpCrypto的選項卡,打開選項卡可進入不同加密方式的具體設置界面。

此處以AES加密為例:

AES加密

常見的加密插件往往只提供一個Processor,該插件設計了多Processor功能,可以添加多個Processor,以便于同時運行多個不同加密方式、不同密鑰的測試器。

在測試器中選擇剛剛創建的Processor

下面直接點擊Start Attack即可。

找的密文對應的明文

BurpSuite中有一個飽受詬病的問題,在測試器的測試結果中,無法顯示原始Payload,也就是字典內容。

該插件內置LevelDb數據庫功能,只要是通過該插件生成的密文內容,都可以使用插件中提供的“Get PlainText”功能找回原始Payload。

ExecJs功能

該插件對于不支持的加密算法也提供了一種類似著名插件jsEncrypter的變通方法,使用者可根據不同網站使用的加密方法提取其加密的核心函數,并將核心函數稍作加工即可加入本插件中使用。區別于jsEncrypter,本插件不需要依賴其他任何第三方工具,JS代碼將直接在插件內部使用(因JS代碼的兼容性問題,已在0.1.4版本中切換至內嵌的Rhino第三方引擎,另外在0.1.9版本中加入了多引擎切換功能)中運行。

因為Java內置的JavaScript不包含瀏覽器中的window、document、console等API,不過好在此類組件一般不會對加密的核心功能造成影響,但是還是需要將調用此類組件的相關代碼進行刪除或者調整。

此處演示使用的是某網站使用的特殊版本的MD5算法。

以該加密函數為例,該加密函數需實例化md5Code類后調用其getValue函數,而本插件僅支持單參數的函數調用,于是需要編寫一個中間函數calc,將核心加密函數直接暴露出來供插件調用。

此處填寫需要讓插件調用的加密函數的函數名稱,在這個例子中就是calc函數。

然后像AES模塊一樣添加Processor即可,使用方式也與AES模塊類似

網盤下載地址

https://pan.quark.cn/s/56c149b48fc3