暴力破解Burte Force

形成原因:網站沒有對登錄接口實施防暴力破解的措施,或者實施了不合理的措施,如不安全的驗證碼,或者使用token防禦暴力破解

測試方法:1.抓取登錄數據包,觀察驗證元素和response響應信息,判斷
2.字典優化
如果是管理後臺,可以嘗試管理員爲admin/administrator/root結合密碼字典進行爆破

用的靶機:pikachu

Bp intruder模塊

之前只用過sniper-_-|| 因爲基本上都知道用戶名或者只有一個變量
不過這次不知道用戶名
在這裏插入圖片描述

單字典:Sniper、Battering ram
Sniper:如果選擇多個變量,此字典會先爆破一個變量,再爆破第二個變量(一個一個來)

Battering ram:無論選擇過個變量。此字典都會同時爆破(多個一起上)

多字典:Pitchfork、Cluster bomb
Pitchfork:此字典同時進行(同時出) Cluster
bomb:爆破建議選擇此字典(一對多。我出1,你逐個出完後,我再出2,你再逐個出完後,我才能再出下一個)
比較一下:
pitchfork
在這裏插入圖片描述
Cluster bomb:
在這裏插入圖片描述
所以一般爆破用戶名和密碼的話還是用第二種

驗證碼繞過

客戶端驗證碼繞過:
客戶端驗證碼就是前端採用js生成再使用js進行驗證的一種方式,這樣的驗證碼和服務器沒有關係
直接抓包attack即可~~

不安全的服務器端驗證碼繞過:就是每次沒有更新驗證碼
如何判斷:通過repeater模塊,更改一下用戶名或者密碼,看response有沒有改變,如果和原來一樣,說明用原來的驗證碼也可以,所以可以直接爆破

繞過token防禦暴力破解

關於token:

Token:在計算機身份認證中是令牌(臨時)的意思,類似於 MD5 加密之後的長字符串

特點:1.隨機性,不可預測 2.具有有限期 3.唯一

作用:1.防止重複提交 2.防止CSRF(跨站請求僞造)攻擊

Token是服務器生成的一串字符串,以作客戶端進行請求的一個令牌。

當第一次登錄後,服務器生成一個Token並返回給客戶端,以後客戶端只需帶上這個Token前來請求數據即可,無需再次帶上用戶名和密碼。

目的就是爲了驗證用戶登錄情況以及減輕服務器的壓力,減少頻繁的查詢數據庫。

它的應用:

1.當用戶首次登錄成功之後,服務器就會生成一個token值(UUID);

2.服務器會保存這個值(保存在數據庫中或者緩存中),再將這個token值返回給客戶端;

3.客戶端拿到token值之後,使用sp進行保存。

4.以後客戶端再次發送網絡請求(一般不是登錄請求)的時候,就會將這個token值附帶到參數中發送給服務器;

5.服務器接收到客戶端的請求之後,會取出token值與保存在本地(數據庫)中的token值做比較。如果兩個token值相同,說明用戶登錄成功過,當前用戶處於登錄狀態,如果沒有這個token值,沒有登錄成功。

思路:
登錄的時候客戶端token要和服務端token進行比較是否正確。
如果我們想要爆破的話,在每次請求前要把上一次請求的響應包獲取到,把其中的token值取出來
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
token採用遞歸payload,把上次請求的token值作爲本次請求的token值進行發送
在這裏插入圖片描述
進入options選項,打鉤
表示從響應中提取選項
在這裏插入圖片描述
fetch response,在響應包中選中token值
在這裏插入圖片描述
需要提交token,不能使用多線程,把線程數改爲1
然後開始跑即可~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章