「Burpsuite練兵場」第二節:驗證機制漏洞


Burpsuite練兵場自第一節內容發布后,表哥們紛紛私信說文章內容很優質,期待作者持續更新,於是小編趕緊發布第二節內容:驗證機制漏洞,對漏洞靶場感興趣的小伙伴千萬別錯過了呦!

上期回顧

 

「Burpsuite練兵場」Portswigger Web Security Academy介紹

 

 

本文是 i 春秋論壇作家「dll_s」表哥原創的Burpsuite練兵場系列文章,文章僅供學習參考。

 

多因素身份驗證漏洞

相較於常見的單因素如賬號密碼登錄模式,使用雙因素驗證登錄似乎更為安全,但由於其受攻擊面的拓展,程序員自身考慮不周所造成的任何一種糟糕實現,往往會增加新的安全問題,容易出現的問題就是在第二次驗證時並不確認用戶是否已經通過初次驗證,光聽原理可能感覺比較枯燥,還是通過實驗來感受多因素身份驗證會存在怎樣的漏洞。

2FA:2 Factor Authentication,雙因子驗證,是一種安全密碼驗證方式,比較常見的即為在登陸時除了驗證密碼外還要輸入手機接收到的驗證碼登錄,還有一些銀行安全U盤也屬於這個范疇。

實驗內容

本次實驗學習內容:

1、多因素身份驗證中容易出現的漏洞;

2、Burpsuite擴展插件的安裝及使用;

3、Burpsuite自定義宏。

實驗一:繞過簡單雙因素驗證機制

 首先配置好Burpsuite監聽代理,使用實驗給出的第一個賬號登錄。

發現需要輸入驗證碼,點擊上方的Email client查看收到的驗證碼並輸入,成功登錄,查看My account。

Burpsiute中已經記錄下了這一系列訪問請求,我們對其進行篩選,去掉無關的信息。

 

對每一個請求與響應報文進行分析,可以看到在/my-account?id這一請求中,id參數存在被利用的可能,使用第二個賬號登錄,然后直接更改id為用戶名訪問My account界面,成功。

 

該實驗原理為后台程序並未驗證用戶是否成功通過二次身份驗證導致的漏洞利用。

實驗二:存在缺陷的雙因素驗證邏輯

同樣配置好代理后,我們使用賬號進行登錄,可以觀察到這樣的通信流量。

 

可以看到GET /login2中的cookie頭部字段中的verify參數存在利用的可能。

 

將其替換為carlos,使用Intruder模塊進行爆破,使用的配置如圖所示:

 

出現302狀態碼即為正確的驗證碼,使用show response in browser復制url到瀏覽器中訪問。

 

成功以carlos身份登錄,訪問My account完成實驗。

該實驗原理為后台程序未驗證用戶是否通過初次身份驗證導致的漏洞利用。

實驗三:爆破2FA驗證碼

此實驗等級為EXPERT(專家級),屬於實驗當中最高的等級,涉及到了對Burpsuite中宏的配置,但整個實驗原理以及過程並不是非常困難,實驗給了我們一個登錄憑據,需要做的就是對驗證碼進行爆破。

 在實驗開始之前,介紹一下Burpsuite另一強大的插件擴展功能,使用插件可以進一步提升Burpsuite在實戰滲透中的能力。

本來在初次實驗中使用的版本是Burpsuite1.6,結果在進行這一實驗時出現了奇怪的錯誤,定義的宏無法使用,因此想到了安裝Logger++插件以查看具體的日志信息方便排錯(雖然后來還是切換到了2020.4版本)。

關於一些推薦插件以及安裝介紹在網絡上已經有很多相關介紹,這里就不再復述了。

使用賬號登錄后,跳轉到了驗證碼輸入頁面,嘗試兩次輸入后會發現自動跳轉到login2中的登錄界面,需要重新進行登錄操作,通信信息如圖所示:

 

可以觀察到,我們在提交驗證碼之前只需重新執行GET /login → POST /login → GET /login2這個過程,即可刷新頁面csrf字段以及cookie字段以重新提交驗證碼。

點擊Project Options,切換到Sessions選項卡。

 

點擊Add添加新的會話處理規則,在彈出的窗口中選擇Add Run a macro添加宏。

 

之后再點擊Add,選擇通信流並確認(使用Test macro可測試宏是否正常運行)。

 配置完成后回到最早的窗口,點擊Scope,在URL Scope中選擇Include all URLs並確認。

以上是整個宏配置過程,之后在Intruder模塊中Burpsuite在每次爆破前就會運行這段宏。

之后將POST /login2發送到Intruder進行配置,配置內容與上個實驗相同,唯一需要注意的是需要將爆破線程修改為1,否則會出現session與csrf字段錯亂的問題,因此這一爆破進程也會非常緩慢。

從Logger++擴展中的通信信息可以看到,宏已經正常運行。

 

爆破成功后同樣將結果show response in browser,成功登錄后訪問My account完成實驗。

 

總結

整個實驗考察了很多對通信流程的掌握,要學會利用Burpsuite中的Proxy History查看通信流程並思考其中可能存在的問題。

另外,這兩天出現了Burpsuite學院中實驗Solution無法查看的問題,已經有人在論壇上進行了反饋:

 

以上是今天要分享的內容,大家看懂了嗎?


免責聲明!

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



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