序言
我在這里對(duì)Burpsuite社區(qū)版的核心功能做一個(gè)詳細(xì)介紹,目的是對(duì)想從事安全滲透測(cè)試的同學(xué)提供一個(gè)快速入門(mén)的手冊(cè)!Burpsuite社區(qū)版開(kāi)放的免費(fèi)功能完全符合想入門(mén)滲透測(cè)試的同學(xué)的需求,當(dāng)大家熟練地使用社區(qū)版后,就能夠?qū)B透測(cè)試有了初步的認(rèn)識(shí),然后可以有的放矢的選擇其他工具進(jìn)行深入學(xué)習(xí)!
試用結(jié)論
社區(qū)版下載地址
https://portswigger.net/burp/communitydownload

初步比較結(jié)論:
Burp的免費(fèi)版中關(guān)于滲透測(cè)試需要的常用模塊:Proxy 模塊,intruder模塊,Repeater模塊,sequencer模塊,decoder模塊,comparer模塊都可以使用。對(duì)于入門(mén)滲透測(cè)試的同學(xué)是
非常好的選擇。
不足:
1工程不能保存
2.無(wú)Scan功能,如下圖所示

3.插件受限制,受限制的插件如下:

4.啟動(dòng),由于是社區(qū)版,所以不能保存工程到磁盤(pán)

主要模塊介紹:
Target(目標(biāo))——顯示目標(biāo)目錄結(jié)構(gòu)的的一個(gè)功能
Proxy(代理)——攔截HTTP/S的代理服務(wù)器,作為一個(gè)在瀏覽器和目標(biāo)應(yīng)用程序之間的中間人,允許你攔截,查看,修改在兩個(gè)方向上的原始數(shù)據(jù)流。
Intruder(入侵)——一個(gè)定制的高度可配置的工具,對(duì)web應(yīng)用程序進(jìn)行自動(dòng)化攻擊,如:枚舉標(biāo)識(shí)符,收集有用的數(shù)據(jù),以及使用fuzzing 技術(shù)探測(cè)常規(guī)漏洞。
Repeater(中繼器)——一個(gè)靠手動(dòng)操作來(lái)觸發(fā)單獨(dú)的HTTP 請(qǐng)求,并分析應(yīng)用程序響應(yīng)的工具。
Sequencer(會(huì)話)——用來(lái)分析那些不可預(yù)知的應(yīng)用程序會(huì)話令牌和重要數(shù)據(jù)項(xiàng)的隨機(jī)性的工具。
Decoder(解碼器)——進(jìn)行手動(dòng)執(zhí)行或?qū)?yīng)用程序數(shù)據(jù)者智能解碼編碼的工具。
Comparer(對(duì)比)——通常是通過(guò)一些相關(guān)的請(qǐng)求和響應(yīng)得到兩項(xiàng)數(shù)據(jù)的一個(gè)可視化的“差異”。
Extender(擴(kuò)展)——可以讓你加載Burp Suite的擴(kuò)展,使用你自己的或第三方代碼來(lái)擴(kuò)展Burp Suit的
Options(設(shè)置)——對(duì)Burp Suite的一些設(shè)置
攔截HTTPS請(qǐng)求
如果想要攔截https請(qǐng)求,需要在瀏覽器中導(dǎo)入burp suite生成的ca證書(shū),如下圖所示:選擇Proxy>Import/export CA certificate

保存導(dǎo)出的der文件
在瀏覽器中導(dǎo)入der文件,以firefox為例,如下圖所示:

瀏覽器導(dǎo)入der文件后,burp suite就可以截取瀏覽器的https請(qǐng)求了。
Proxy
Proxy代理模塊作為BurpSuite的核心功能,攔截HTTP/S的代理服務(wù)器,作為一個(gè)在瀏覽器和目標(biāo)應(yīng)用程序之間的中間人,允許你攔截,查看,修改在兩個(gè)方向上的原始數(shù)據(jù)流。Burp 代理允許你通過(guò)監(jiān)視和操縱應(yīng)用程序傳輸?shù)年P(guān)鍵參數(shù)和其他數(shù)據(jù)來(lái)查找和探索應(yīng)用程序的漏洞。通過(guò)以惡意的方式修改瀏覽器的請(qǐng)求,Burp 代理可以用來(lái)進(jìn)行攻擊,如:SQL 注入,cookie 欺騙,提升權(quán)限,會(huì)話劫持,目錄遍歷,緩沖區(qū)溢出。攔截的傳輸可以被修改成原始文本,也可以是包含參數(shù)或者消息頭的表格,也可以十六進(jìn)制形式,甚至可以操縱二進(jìn)制形式的數(shù)據(jù)。在 Burp 代理可以呈現(xiàn)出包含 HTML 或者圖像數(shù)據(jù)的響應(yīng)消息。
在Burpsuite中點(diǎn)擊Proxy標(biāo)簽,在子標(biāo)簽中點(diǎn)擊Options標(biāo)簽,啟用127.0.0.1:8080進(jìn)行代理??梢栽O(shè)置該值改變代理的端口。

如果對(duì)瀏覽器進(jìn)行攔截則需要設(shè)置瀏覽器中的代理與Burpsuite代理一致。Firefox設(shè)置代理頁(yè)面如下:

如果對(duì)手機(jī)請(qǐng)求進(jìn)行攔截則需要設(shè)置手機(jī)中的代理與Burpsuite代理一致。
注意:
1手機(jī)和Burpsuite所在電腦需要在同一網(wǎng)絡(luò)中
2.在Burpsuite的代理設(shè)置中要使用本機(jī)的真實(shí)IP而非127.0.0.1

手機(jī)設(shè)置代理頁(yè)面如下:

在intercept標(biāo)簽中,按鈕功能如下所示:
forward:當(dāng)你編輯之后,發(fā)送信息到服務(wù)器或?yàn)g覽器
Drop:當(dāng)你不想發(fā)送這次信息可以點(diǎn)擊drop放棄這個(gè)信息
interceptionis on/off: 這個(gè)按鈕用來(lái)切換和關(guān)閉所有攔截,如果按鈕顯示interceptions on,表示請(qǐng)求和響應(yīng)將被攔截或自動(dòng)轉(zhuǎn)發(fā),根據(jù)配置的攔截規(guī)則配置代理選項(xiàng),如果按鈕顯示interception is off則顯示攔截之后的所有信息將自動(dòng)轉(zhuǎn)發(fā)。

設(shè)置interceptionis on,在瀏覽器中訪問(wèn)百度,發(fā)現(xiàn)網(wǎng)頁(yè)不能展示,切回到intercept標(biāo)簽頁(yè)展示如下:

Action:說(shuō)明一個(gè)菜單可用的動(dòng)作行為操作可以有哪些操作功能:
Send to Spider 發(fā)送給spider進(jìn)行爬取
Do an active scan 執(zhí)行主動(dòng)掃描
Send to Intruder 發(fā)送到入侵者
Send to Repeater 發(fā)送到中繼器
Send to Sequencer 發(fā)送到序列發(fā)生器
Send to Comparer 發(fā)送到比較器
Send to Decoder 發(fā)送到解碼器
Request in browser 在瀏覽器的請(qǐng)求
Engagement tools 參與工具
Change request method 對(duì)所有的請(qǐng)求,經(jīng)過(guò)把所有相關(guān)的請(qǐng)求參數(shù)適當(dāng)?shù)匕徇w到這個(gè)請(qǐng)求里來(lái),你就可以自動(dòng)地把請(qǐng)求的方法在 POST 和 GET 中間切換。通過(guò)發(fā)送惡意的請(qǐng)求使用這個(gè)選項(xiàng)來(lái)快速測(cè)試應(yīng)用程序的極限參數(shù)是多少。
Change body encoding 對(duì)于所有的請(qǐng)求,你可以在應(yīng)用程序/X-WWW 格式的 URL 編碼和多重表單/數(shù)據(jù)之間切換消息體的編碼方式。
Copy URL 把當(dāng)前的 URL 完整地復(fù)制到粘貼板上。
Copy as curl command 作為curl命令
Cope to file 這個(gè)功能允許你把選擇一個(gè)文件,并把消息的內(nèi)容復(fù)制到這個(gè)文件里。這個(gè)對(duì)二進(jìn)制數(shù)據(jù)來(lái)說(shuō)是很方便的,要是通過(guò)粘貼板來(lái)復(fù)制會(huì)帶來(lái)一些問(wèn)題。復(fù)制操作是在選擇的文本上進(jìn)行的,如果沒(méi)有被選中的內(nèi)容,則是針對(duì)整個(gè)消息了。
Pase form file 這個(gè)功能允許你選擇一個(gè)文件,并把文件里的內(nèi)容粘貼到消息里。這個(gè)對(duì)二進(jìn)制數(shù)據(jù)來(lái)說(shuō)是很方便的,要是通過(guò)粘貼板來(lái)復(fù)制會(huì)帶來(lái)一些問(wèn)題。粘貼操作會(huì)替換掉被選中的內(nèi)容,如果沒(méi)有內(nèi)容被選中,則在光標(biāo)位置插入這些內(nèi)容。
Save item 這個(gè)功能讓你指定一個(gè)文件,把選中的請(qǐng)求和響應(yīng)以XML的格式保存到這個(gè)文件,這里面包括所有的元數(shù)據(jù)如:響應(yīng)的長(zhǎng)度,HTTP 的狀態(tài)碼以及 MIME 類(lèi)型。
Don't intercept requests 通過(guò)這些命令可以快速地添加攔截動(dòng)作的規(guī)則來(lái)阻止攔截到的消息,這些消息和當(dāng)前的消息有著相同的特征(如遠(yuǎn)程主機(jī),資源類(lèi)型,響應(yīng)編碼)。
Do intercept 僅對(duì)請(qǐng)求有效,這允許你可以對(duì)當(dāng)請(qǐng)求和響應(yīng)的進(jìn)行強(qiáng)制攔截。
Convert seiection 這些功能讓你能夠以多種方案對(duì)選擇的文本進(jìn)行快速的編碼和解碼。
URL-encode as you type 如果這個(gè)選項(xiàng)被打開(kāi),你輸入的像&和=這樣的符號(hào)會(huì)被等價(jià)的 URL編碼代替。
Cut 剪切
Copy 復(fù)制
Paste 粘貼
Message edit help 消息編輯幫助
Proxy interception help 代理攔截幫助
在http histroy標(biāo)簽中,記錄了截取的url請(qǐng)求,鼠標(biāo)右鍵選擇某一個(gè)url,可以出現(xiàn)類(lèi)似action菜單,如下圖所示:

Intruder
Burp Intruder是一個(gè)強(qiáng)大的工具,用于自動(dòng)對(duì)Web應(yīng)用程序自定義的攻擊,Burp Intruder 是高度可配置的,并被用來(lái)在廣范圍內(nèi)進(jìn)行自動(dòng)化攻擊。你可以使用 Burp Intruder 方便地執(zhí)行許多任務(wù),包括枚舉標(biāo)識(shí)符,獲取有用數(shù)據(jù),漏洞模糊測(cè)試。合適的攻擊類(lèi)型取決于應(yīng)用程序的情況,可能包括:缺陷測(cè)試:SQL 注入,跨站點(diǎn)腳本,緩沖區(qū)溢出,路徑遍歷;暴力攻擊認(rèn)證系統(tǒng);枚舉;操縱參數(shù);拖出隱藏的內(nèi)容和功能;會(huì)話令牌測(cè)序和會(huì)話劫持;數(shù)據(jù)挖掘;并發(fā)攻擊;應(yīng)用層的拒絕服務(wù)式攻擊。
Burp Intruder主要有四個(gè)模塊組成:
1:Target 用于配置目標(biāo)服務(wù)器進(jìn)行攻擊的詳細(xì)信息。
2:Positions ?設(shè)置Payloads的插入點(diǎn)以及攻擊類(lèi)型(攻擊模式)。
3:Payloads ?設(shè)置payload,配置字典
4:Options ? 此選項(xiàng)卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你可以發(fā)動(dòng)攻擊之前,在主要Intruder的UI上編輯這些選項(xiàng),大部分設(shè)置也可以在攻擊時(shí)對(duì)已在運(yùn)行的窗口進(jìn)行修改。
1:Target?目標(biāo)選項(xiàng)(Target tab)
這個(gè)選項(xiàng)是用來(lái)配置目標(biāo)服務(wù)器的細(xì)節(jié):

2:Positions?位置選項(xiàng)(Positions tab)
這個(gè)選項(xiàng)是用來(lái)配置在攻擊里產(chǎn)生的所有 HTTP 請(qǐng)求的模板:

使用一對(duì)§字符來(lái)標(biāo)記出有效負(fù)荷的位置,在這兩個(gè)符號(hào)直接包含了模板文本的內(nèi)容。當(dāng)把一個(gè)有效負(fù)荷放置到一個(gè)給出的請(qǐng)求的特殊位置上時(shí),就把這§符號(hào)放到這個(gè)位置,然后在兩個(gè)符號(hào)之間的出現(xiàn)的文本都會(huì)被有效負(fù)荷替換。當(dāng)有個(gè)特殊位置沒(méi)有為一個(gè)給出的請(qǐng)求安排有效負(fù)荷時(shí)(這只適用”sniper”攻擊類(lèi)型),那個(gè)位置的§字符會(huì)被刪除,出現(xiàn)在它們之間的文本不會(huì)變化。
當(dāng)使用 Burp Suite 發(fā)送一個(gè)其他地方的請(qǐng)求時(shí),Burp Intruder 會(huì)對(duì)你最想放置有效負(fù)荷的位置做一個(gè)最好的猜測(cè),并且它把這些放置在每個(gè) URL 和主體參數(shù)的值里,以及每個(gè)cookie 里。每個(gè)標(biāo)記和它中間的文本都會(huì)被加亮以顯得更清晰。你可以使用 Intruder 菜單上的選項(xiàng)標(biāo)記的位置是要替換還是附加現(xiàn)有的參數(shù)值。在上面的請(qǐng)求編輯器里,指出了定義位置的數(shù)量和文本模板的大小。
你可以使用選項(xiàng)上的按鈕來(lái)控制位置上的標(biāo)記:
1. add § — 在當(dāng)前光標(biāo)位置插入一個(gè)位置標(biāo)記。
2. clear § — 刪除整個(gè)模板或選中的部分模板里的位置標(biāo)記。
3. auto § — 這會(huì)對(duì)放置標(biāo)記的位置做一個(gè)猜測(cè),放哪里會(huì)有用,然后就把標(biāo)記放到相應(yīng)位置。這是一個(gè)為攻擊常規(guī)漏洞(SQL 注入)快速標(biāo)記出合適位置的有用的功能,然后人工標(biāo)記是為自定義攻擊的。
4.refresh — 如果需要,可以刷新編輯器里有顏色的代碼。
5.clear — 刪除整個(gè)編輯器內(nèi)容。
3:Payloads?有效負(fù)荷選項(xiàng)(Payloads tab)
這個(gè)選項(xiàng)是用來(lái)配置一個(gè)或多個(gè)有效負(fù)荷的集合。如果定義了”cluster bomb”和”pitchfork”攻擊類(lèi)型,然后必須為每定義的有效負(fù)荷位置(最多8個(gè))配置一個(gè)單獨(dú)的有效負(fù)荷。使用”payload set”下拉菜單選擇要配置的有效負(fù)荷。
選項(xiàng)1:Payload Sets Payload數(shù)量類(lèi)型設(shè)置
選項(xiàng)2:Payload Options[Simple list] ?該選項(xiàng)會(huì)根據(jù)選項(xiàng)1中Payload type的設(shè)置而改變

選項(xiàng)3:Payload Processing 對(duì)生成的Payload進(jìn)行編碼、加密、截取等操作

選項(xiàng)4:Payload Encoding 你可以配置哪些有效載荷中的字符應(yīng)該是URL編碼的HTTP請(qǐng)求中的安全傳輸。任何已配置的URL編碼最后應(yīng)用,任何有效載荷處理規(guī)則執(zhí)行之后。 這是推薦使用此設(shè)置進(jìn)行最終URL編碼,而不是一個(gè)有效載荷處理規(guī)則,因?yàn)榭梢杂脕?lái)有效載荷的grep選項(xiàng)來(lái)檢查響應(yīng)為呼應(yīng)有效載荷的最終URL編碼應(yīng)用之前。

4:Options ?選項(xiàng)卡(Options tab) 此選項(xiàng)卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你可以發(fā)動(dòng)攻擊之前,在主要Intruder的UI上編輯這些選項(xiàng),大部分設(shè)置也可以在攻擊時(shí)對(duì)已在運(yùn)行的窗口進(jìn)行修改。
選項(xiàng)1:Request Headers?這些設(shè)置控制在Intruder是否更新配置請(qǐng)求頭。

如果選中‘update Content-Length header’框,Burp Intruder 會(huì)使用每個(gè)請(qǐng)求的 HTTP 主體長(zhǎng)度的正確值,添加或更新這個(gè)請(qǐng)求里 HTTP 消息頭的內(nèi)容長(zhǎng)度。這個(gè)功能對(duì)一些需要把可變長(zhǎng)度的有效載荷插入到 HTTP 請(qǐng)求模板主體的攻擊是很有必要的。這個(gè) HTTP 規(guī)范和大多數(shù) web 服務(wù)器一樣,需要使用消息頭內(nèi)容長(zhǎng)度來(lái)指定 HTTP 主體長(zhǎng)度的正確值。如果沒(méi)有指定正確值,目標(biāo)服務(wù)器會(huì)返回一個(gè)錯(cuò)誤,也可能返回一個(gè)未完成的請(qǐng)求,也可能無(wú)限期地等待接收請(qǐng)求里的進(jìn)一步數(shù)據(jù)。
如果選中‘set Connection: close’框,則 Burp Intruder 會(huì)添加或更新 HTTP 消息頭的連接來(lái)請(qǐng)求在每個(gè)請(qǐng)求后已關(guān)閉的連接。在多數(shù)情況下,這個(gè)選項(xiàng)會(huì)讓攻擊執(zhí)行得更快。
選項(xiàng)2:Request Engine?設(shè)置發(fā)送請(qǐng)求的線程、超時(shí)重試等。

選項(xiàng)3:Attack Results 設(shè)置攻擊結(jié)果的顯示。

選項(xiàng)4:Grep – Match 在響應(yīng)中找出存在指定的內(nèi)容的一項(xiàng)。

選項(xiàng)5:Grep – Extract 通過(guò)正則提取返回信息中的內(nèi)容。

選項(xiàng)6:Grep – Payloads ?這些設(shè)置可以用于包含已提交的有效負(fù)載的反射的標(biāo)志結(jié)果項(xiàng)目。如果啟用了此選項(xiàng),BurpSuite會(huì)添加包含一個(gè)復(fù)選框指示當(dāng)前負(fù)載的值在每個(gè)響應(yīng)發(fā)現(xiàn)新的結(jié)果列。

選項(xiàng)7:Redirections 重定向響應(yīng),控制Burp在進(jìn)行攻擊時(shí)如何處理重定向。

Burp Suite Intruder的4種攻擊類(lèi)型
一 Sniper(狙擊手模式)
狙擊手模式使用一組payload集合,它一次只使用一個(gè)payload位置,假設(shè)你標(biāo)記了兩個(gè)位置“A”和“B”,payload值為“1”和“2”,那么它攻擊會(huì)形成以下組合(除原始數(shù)據(jù)外):

二Battering ram(攻城錘模式)
攻城錘模式與狙擊手模式類(lèi)似的地方是,同樣只使用一個(gè)payload集合,不同的地方在于每次攻擊都是替換所有payload標(biāo)記位置,而狙擊手模式每次只能替換一個(gè)payload標(biāo)記位置。

三Pitchfork(草叉模式)
草叉模式允許使用多組payload組合,在每個(gè)標(biāo)記位置上遍歷所有payload組合,假設(shè)有兩個(gè)位置“A”和“B”,payload組合1的值為“1”和“2”,payload組合2的值為“3”和“4”,則攻擊模式如下:

四Cluster bomb(集束炸彈模式)
集束炸彈模式跟草叉模式不同的地方在于,集束炸彈模式會(huì)對(duì)payload組進(jìn)行笛卡爾積,還是上面的例子,如果用集束炸彈模式進(jìn)行攻擊,則除baseline請(qǐng)求外,會(huì)有四次請(qǐng)求:

Repeater
BurpSuite的Repeater功能,是通過(guò)手工修改請(qǐng)求參數(shù),查看返回結(jié)果response進(jìn)行結(jié)果分析;
1, 與Proxy模塊不同,Repeater模塊沒(méi)有單獨(dú)的Options功能,對(duì)Repeater的設(shè)置是通過(guò)頂部工具欄,如圖:

2, 右上角的Target可以將修改后的請(qǐng)求發(fā)送到指定域名;

3,設(shè)置頁(yè)面展示效果;

Comparer
Comparer模塊提供一個(gè)可視化的差異比對(duì)功能,來(lái)對(duì)比分析兩次數(shù)據(jù)之間的區(qū)別。使用中的場(chǎng)景可能是:
1.枚舉用戶名過(guò)程中,對(duì)比分析登陸成功和失敗時(shí),服務(wù)器端反饋結(jié)果的區(qū)別。
2.使用 Intruder 進(jìn)行攻擊時(shí),對(duì)于不同的服務(wù)器端響應(yīng),可以很快的分析出兩次響應(yīng)的區(qū)別在哪里。
3.進(jìn)行SQL注入的盲注測(cè)試時(shí),比較兩次響應(yīng)消息的差異,判斷響應(yīng)結(jié)果與注入條件的關(guān)聯(lián)關(guān)系。
以Intruder為例,對(duì)一個(gè)請(qǐng)求進(jìn)行了2次攻擊操作,然后把2次響應(yīng)結(jié)果發(fā)送到Comparer模塊,如下圖所示:

在comparer模塊中,看到了這兩個(gè)響應(yīng),如下圖所示:

點(diǎn)擊底部的“words”按鈕,可以看到兩個(gè)響應(yīng)的區(qū)別,如下圖所示:
