首先,token並不能防爆破
我們觀察源代碼(工具---Web開發者---Firebug---打開Firebug),點擊login提交時,頁面不僅提交username和password,還提交了一個hidden屬性的token值(每次提交要驗證token值(每次更新),表面上可以防止暴力破解,但后端每次產生的token以明文形式傳到前端,漏洞就這樣產生了,黑客可以在每次暴力破解之前,獲取一下token值,然后填到字典里面,就可以進行暴力破解)
但是每次在暴力破解之前打開html找新的token再貼到burpsuite的相應位置就很麻煩,我們要考慮暴破時怎樣才能帶上正確的token值
可以使用 burpsuite 的宏功能,自動把登陸頁的token值抓取出來填入登陸請求,創建宏,獲取 token 值:
在彈出來的 Macro Recorder 中選擇包含要獲取的 token 的頁面,點擊ok:
點擊
繼續點擊
配置 Macros 用鼠標選中 token 值,burpsuite 會自動填寫開始標記以及結束標記,並且寫上 Parameter name 為 token,注意這里的參數名 token 是與要爆破頁面里的 token 名稱一致:
到此宏建立完成。接着創建 Session Handling Rules 然后在 Session Handling Rules 里面新建一條規則以執行宏:
一直點OK到這個界面
如下圖點擊
點擊ok以后點擊下圖Scope
設置宏的影響范圍, Tools Scope 選中 Repeater、Intruder 就行了,其它模塊可根據實際需要勾選:
最后一步,將爆破線程設置為1(因為如果是多線程它們會同時刷新token,就無法取得正確的token):
攻擊測試
爆破成功
所以說,token防爆破並不能防止暴力破解實錘了~~~
文章參考:https://mp.weixin.qq.com/s?src=11×tamp=1594002463&ver=2443&signature=vp8*NWKMQLpSGRJjcmPpPpyvp8Aq7Cdi6BM3dqhcDhW0PDPU4nIyStpS6MtztbnnlPP2Tan9Cd-URA*eJcMaSOwE2Kvjqr2fcmxQrM9b*TeTalS-WRctxVegZoI2hkVu&new=1