burpsuite intruder

position

在attack type有4種可選,說明如下

Sniper

可針對請求中的一個位置進行攻擊測試

例如在請求中有§p1§
發送第1個請求時,§p1§會使用第1種攻擊字串的第1個
發送第2個請求時,§p1§會使用第1種攻擊字串的第2個
發送第n個請求時,§p1§會使用第1種攻擊字串的第n個

用法範例如下

  1. positions/payload options。 選擇攻擊類型Sniper
  2. 按一下「clear」以刪除任何自動指派的有效負載位置。 在使用者名稱參數中,反白顯示該值並按一下「add」以向該參數新增有效負載位置。 該位置將由兩個§符號指示,例如:username=§invalid-username§

refer
Lab: Username enumeration via different responses

Battering ram

可針對請求中的多個位置進行同樣的攻擊測試

例如在請求中有§p1§和§p2§,
發送第1個請求時,§p1§和§p2§會使用第1種攻擊字串的第1個
發送第2個請求時,§p1§和§p2§會使用第1種攻擊字串的第2個
發送第n個請求時,§p1§和§p2§會使用第1種攻擊字串的第n個

Pitchfork

可針對請求中的多個位置,同時做不同的攻擊測試

例如在請求中有§p1§和§p2§,
發送第1個請求時,§p1§會使用第1種攻擊字串的第1個, §p2§會使用第2種攻擊字串的第1個
發送第2個請求時,§p1§會使用第1種攻擊字串的第2個, §p2§會使用第2種攻擊字串的第2個
發送第n個請求時,§p1§會使用第1種攻擊字串的第n個, §p2§會使用第2種攻擊字串的第n個

refer
Lab: Username enumeration via response timing
Lab: Broken brute-force protection, IP block

cluster comb

可針對請求中的多個位置,做所有組合的攻擊測試

例如在請求中有§p1§和§p2§,
發送第1個請求時,§p1§會使用第1種攻擊字串的第1個, §p2§會使用第2種攻擊字串的第1個
發送第2個請求時,§p1§會使用第1種攻擊字串的第2個, §p2§會使用第2種攻擊字串的第1個
發送第n個請求時,§p1§會使用第1種攻擊字串的第n個, §p2§會使用第2種攻擊字串的第1個
發送第n+1個請求時,§p1§會使用第1種攻擊字串的第1個, §p2§會使用第2種攻擊字串的第2個
發送第n+2個請求時,§p1§會使用第1種攻擊字串的第2個, §p2§會使用第2種攻擊字串的第2個
發送第n+n個請求時,§p1§會使用第1種攻擊字串的第n個, §p2§會使用第2種攻擊字串的第2個
發送第n^n個請求時,§p1§會使用第1種攻擊字串的第n個, §p2§會使用第2種攻擊字串的第n個

用法範例如下

positions/payload options 區域中可以設定2payload分別為 §1§ 和 §a§ 如下

TrackingId=x’+UNION+SELECT+’a’+FROM+users+WHERE+username=’administrator’+AND+substring(password,§1§,1)=’§a§’–

payload1, 設定1~20
payload2, Simple list , 增加payloads 在 a – z 和 0 – 9的範圍

refer
Lab: Blind SQL injection with conditional responses
Lab: Blind SQL injection with conditional errors
Lab: Username enumeration via account lock


payload

payload type有很多可以選,以下選3個最常見的做簡介

simple

可選擇攻擊清單逐一發送攻擊請求,以 xss 為例如下

  1. payload sets區域中, payload typesimple list
  2. payload settings區域中,把xss攻擊範例清單貼上。( 清單可參考 XSS cheat sheet )
  3. 點選start attack

refer
Lab: Reflected XSS into HTML context with most tags and attributes blocked

number

可以產生多個數字內容的請求,以1-255個數字為例

  1. payload sets區域中, payload typenumbers
  2. payload settings區域中,並分別在fromtostep方塊中輸入 1、255 和 1。就可以產生1到255的數字並依續發送255個請求
  3. 點選start attack

refer

Lab: Basic SSRF against another back-end system
Lab: 2FA bypass using a brute-force attack

null payload

  1. payload sets區域中, payload typenull payload
  2. payload settings區域中,可在generate中選擇要重覆多少次請求,或選擇continue indefinitely持續傳送相同請求

refer
Lab: Low-level logic flaw

payload processing

用法:可在重送請求時對內容做處理

例如:想對請求做MD5,在增加wiener,在做Base64-encode,那可以在Payload processing區域內,增加以下規則,可依序對請求的內容做處理

  1. Hash: MD5
  2. Add prefix: wiener:
  3. Encode: Base64-encode

refer
Lab: Brute-forcing a stay-logged-in cookie


Settings

其他一些設定,幾個比較常用的選項如下

grep match

如果想過濾返回內容,可透過grep match

例如:我只想看返回內容有welcome back的值,則清除所有項目並新增welcome back即可

refer
Lab: Blind SQL injection with conditional responses
Lab: Blind SQL injection with conditional errors

Grep – Extract

在grep match使用正規表示式

refer
Lab: Username enumeration via subtly different responses


start attack windows

攻擊開始後會彈出一個攻擊視窗顯示目前的請求情況

攻擊視窗不會將所有資訊都會顯示出來,例如,如果想看每個請求的Response time,那要到Columns選單另外勾選Response receivedResponse completed

refer
Lab: Blind SQL injection with time delays and information retrieval
Lab: Username enumeration via response timing
Lab: Username enumeration via response timing