BrupSuite插件jsEncrypter使用方法,以及AES解密
1、使用burp截取網站包文并發(fā)送到Repeater查看源代碼,發(fā)現(xiàn)使用的是AES加密。
image.png
注:圖片burp紅框里的代碼復制保存在phantomjs_server.js文件中。
2、解析AES加密方式
//利用在線AES網站來解密
http://tool.chacuo.net/cryptaes
在線AES | 網站泄露AES加密方式 |
---|---|
AES加密模式 | CBC |
填充 | Pkcs7 |
密碼 | ihaierForTodoKey |
偏移量 | ihaierForTodo_Iv |
(以上表格解密需求缺一不可)
3、成功解密
image.png
從這里可以看出此站點使用的是AES.CBC加密方式
4、安裝burp擴展jsEncrypter.0.3.2
鏈接:https://pan.baidu.com/s/16Rmm4x4C42qFU1pM-3ywvw
提取碼:gw8e
image.png
jsEncrypter依賴phantomjs,啟動前端加密函數(shù)對數(shù)據(jù)進行加密,phantomjs會返回加密結果傳給burp,因此此插件需要啟動phantomjs開啟服務,burp去讀取結果。
5、下載依賴phantomjs-2.1.1,并解壓
鏈接:https://pan.baidu.com/s/12iaD1YbK6-RHlg6OGW1PIw
提取碼:kr5h
6、生成aes.min.js
F12查看網頁源代碼
image.png
創(chuàng)建一個js文件,名為為aes.min.js;把代碼粘貼進去:
image.png
7、配置phantomjs_server.js加密函數(shù)
//引入實現(xiàn)加密的aes.min.js文件,注意路徑
aes.min.js
//調用加密函數(shù)進行加密的代碼
//此代碼在序號1圖片中進行復制
var _word = CryptoJS.enc.Utf8.parse(data),_key = CryptoJS.enc.Utf8.parse("ihaierForTodoKey"),_iv = CryptoJS.enc.Utf8.parse("ihaierForTodo_Iv");
var encrypted = CryptoJS.AES.encrypt(_word, _key, {iv: _iv, mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
return encrypted.toString();
image.png
注意:把配置好的aes.min.js和phantomjs_server.js截切到phantomjs目錄
8、CMD打開phantomjs-2.1.1,并運行文件
image.png
注:如果運行不成功,請查看phantomjs_server.js中調用加密函數(shù)進行加密的代碼是否正確,注意空格回車符,本人在這里被坑了。
9、使用jsEncrypter擴展生成密文
image.png
10、復制密文到Intruder進行爆破
image.png
有疑問的小伙伴,歡迎評論或私聊討論