[Burp Suite 完整教學] Intruder Attack type & Payloads 您所在的位置:网站首页 intruder中文怎么调 [Burp Suite 完整教學] Intruder Attack type & Payloads

[Burp Suite 完整教學] Intruder Attack type & Payloads

2024-07-10 12:07| 来源: 网络整理| 查看: 265

今天要介紹Intruder中的Attack type跟Payloads,這個地方內容有點多,但也覺得說應該要介紹一下,不太能夠草率的帶過,就特別拉了一天出來專門說這個。

Intruder可以進行的攻擊與測試組合方式真的不少,有時候不是Intruder辦不到,而是你不知道原來Intruder可以辦得到。

首先是Positions下的Attack type,總共有四種的攻擊模式,分別為sniper、Battering ram、Pitchfork、cluster bomb。

今天為了比較方便說明,我將登入部分的帳號與密碼皆設為變數,初始值帳號我用admin,密碼password0000。

如下圖的設定:

Attack ModeSniper

第一種攻擊模式: Snipersniper的特點是只需要指定一個Payload Set,不管你Positions中有幾個變數,都是一個Payload Set,但會針對每個變數逐項的替換。

在替換第一個位置變數的時候,第二個是不會動的,也就是替換第一個位置的時候,第二個會是原始值,而測試完第一個位置時,才會測試二個位置。

所以假設嘗試替換帳號密碼,利用Payload內容是11,22,33,aa,bb,cc進行暴力破解時,會去嘗試:admin:11admin:22admin:33admin:aaadmin:bbadmin:cc11:password000022:password0000… 這樣依序下去

欄位中Position的意思是表示第幾個變數,因為我們只有設定兩個,帳號§admin§就是position 1,而密碼§password0000§就是position 2。

demo如下圖:

Battering ram

第二種攻擊模式: Battering ram這種攻擊模式實際上比第一種還好理解,也是不管你Positions中有幾個變數,都是一個Payload Set。並且每個變數位置的值都會是一樣的。

所以假設嘗試替換帳號密碼,帳號利用檔案內容是11,22,33,aa,bb,cc進行暴力破解時 會去嘗試11:1122:2233:33aa:aa… 這樣依序下去

demo如下圖:

Pitchfork

第三種攻擊模式: Pitchfork不能只輸入一個字典,每個變數要有自己的字典檔,也就是說每個變數有一個屬於自己的Payload set,但是要注意的是每個Payload set裡面的payload個數要一樣。(當然其實payload set不一樣也是沒關係,還是可以執行,只是多出來的那些payload不會被送出去而已。)

假設兩個Position各有自己的Payload Set,Position 1,也就是帳號的地方,Payload是11,22,33Position 2,也就是密碼的地方,Payload是aa,bb,cc嘗試結果會是11:aa22:bb33:cc

demo如下圖:

Cluster bomb

第四種攻擊模式: Cluster bomb這種方式也是每個變數都要輸入字典,但是不會像Pitchfork是一對一的關係,而是每個都會去嘗試到,逐項地去嘗試一多對的方式。

假設兩個Position各有自己的Payload Set,Position 1,也就是帳號的地方,Payload是11,22,33Position 2,也就是密碼的地方,Payload是aa,bb,cc嘗試結果會是11:aa11:bb11:cc22:aa22:bb…

demo如下圖:

Payload type

介紹完了四種Attack Mode之後,要來提的就是Payload type,雖然我們前面用的Payload type都是Simple list,(實務上最常用到的通常也是Simple list就是了)不過Burp所支援的Payload type可是相當的多樣化。

Simple list

首先Simple list可以算是最基本的,用法很簡單,可以直接輸入按Add,也可以匯入檔案。

雖然這邊我們demo都是手動輸入,不過實際上要執行暴力破解等動作,通常Payload一定會是很大量的,用手輸入可是會打到手指骨折,所以實務上都是用匯入字典檔的方式居多囉。那至於字典檔要去哪裡找,就…自己到處隨便用關鍵字找找囉,因為滿多地方都有各種不同的字典的或是Payload檔案。談起Payload與字典檔可能又會無限發散,這邊就隨便放個SecLists讓大家參考參考:https://github.com/danielmiessler/SecLists/tree/master/Passwords

Runtime file

Runtime file 是指定檔案,讓你直接選擇檔案,每一行就是一個Payload,其實這個跟Simple list直接Load就是一樣的意思而已,只是Simple list如果匯入的檔案很大,會因為畫面要顯示出來給你看,所以會跑很久,Runtime file沒有要顯示給你看,所以沒這個問題。

Custom iterator

Custom iterator這個稍微就有點小複雜了,首先先注意到這邊裡面也有個Position 1~88個都可以輸入不同的Payload Set,也就是說八個之間會去做排列組合,但是前後的順序不會改變,最後的結果 = position1 + position2 + position3

為了方便demo,用的是Battering ram攻擊模式,Payload的PositionPosition 1: 11,22,33Position 2: aa,bb,ccPosition 3: dog,cat

最後執行的payload會是:11aadog22aadog33aadog11bbdog22bbdog…以此類推總共18組payload

Character substitution

Character substitution 字元替換的意思,也就是你可以設定把某個字元修改成另一個字元,其實可以算還是會從原本Simple list去延伸,所以看到item的地方跟Simple list一樣。跑完原本的Payload之後會做字元的替換。

所以假設我的payload輸入abcd,可以看到字元替換的規則有a->4,b->8所以暴力破解時送完原始的payload abcd之後有單獨把a換成4,有單獨把b換成8,也有兩個都換的。

Recursive grep

Recursive grep 其實聽起來有點複雜,但是其實沒那麼複雜XD 可是我沒好的範例demo。是從前次的回應結果中,取得部分特定內容作為下次請求的Payload。

Illegal Unicode

這個我也是第一次發現原來Burp還有這一招,利用Illegal Unicode進行Bypass。因為不是很理解,讓我先默默跳過…

Character blocks

Character blocks,舉例,可以插入很多個A,起始要幾個,每次增加多少個A,到多少個要停止,通常比較適用在測試overflow。

Number

Number測試數字,這個也算是實務上很常用到的,可以設定起始多少到結尾多少,間隔多少數字,也可以選擇十進位與Hex,還有是否要小數點。

Datas

如其名,就是用來測時間日期格式的Payload。

Brute Force

Brute Force是純粹的暴力破解,這個其實算是我除了Simple與Number以外,可能比較常用到的之一,Payload的產生方式就是Character set中的所有字元排列組合都會試過,那也可以設定最小的長度與最大的長度,不過要注意就是Brute Force很容易一不小心Payload數量就超多的。

Null payloads

Null payloads 其實就是重複同樣的原始請求,沒有進行修改,你可能會好奇這樣有甚麼意義?!那這個就是等到你遇到需要的場景就會知道意義了XD,通常可能是做觀察與蒐集數據的時候用啦,譬如要確認一值重複丟一樣的請求,是否伺服器都會給一樣的回應。

Character frobber

Character frobber 會依序去遞增每個字元的一個ASCII,感覺這個有點冷門,好像其實是滿實用的,用途主要應該是是用來確認token的每個字元是否有作用。

Character frobberUsername generatorECB block shuffler

剩下的因為時間壓力的關係,加上我根本幾乎沒用過的關係XD就真的草率的帶過一下了:Bit flipper 會對預設的payload,按照bits去翻轉。Username generator 對單字進行變形猜測。ECB block shuffler 牽扯到加密模式,先不管他。

講完Payload type之後,Payload下還有兩個區塊,必須要提一下,姑且不管你有沒有要用的,至少先知道。

Payload Processing,是也可以對發出去的Payload進行加工處理,例如可以加入前置、後墜字元,後墜常見的可能像是Email的結果,@gmail.com之類的。可以利用match替換,可以反轉,可以編碼,許多方法可以選擇。

最下面的Payload Encoding,這邊則是勾選的話,Payload如果有match的characters就會進行URL-encode。

最後小結一下,我自己覺得會比較常用的payload type是Simple, Number, Brute Force,當然每種都有各自的優點與適合的場景,Burp支援了這麼多種的Payloads type,不同的攻擊模式,還可以對Payload進行加工,真的是很建議可以好好學好Burp Suite中的Intruder。

本系列的文章為作者參與第 12 屆 iT 邦幫忙鐵人賽的文章修改原文連結 https://ithelp.ithome.com.tw/users/20114110/ironman/3806



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有