BurpSuite主要功能模塊
BurpSuite其實(shí)是由多個(gè)不同的小工具(功能模塊)組成的集合,工具與工具之間可以聯(lián)動(dòng)
主要功能模塊:
- Target:顯示目標(biāo)目錄結(jié)構(gòu)的-個(gè)功能
- Proxy:攔截HTTP/HTTPS的代理服務(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:用來(lái)分析那些不可預(yù)知的應(yīng)用程序會(huì)話令牌和重要數(shù)據(jù)項(xiàng)的隨機(jī)性的工具
- Decoder:進(jìn)行手動(dòng)執(zhí)行或?qū)?yīng)用程序數(shù)據(jù)者智能解碼編碼的工具
- Comparer:通常是通過(guò)一些相關(guān)的請(qǐng) 求和響應(yīng)得到兩項(xiàng)數(shù)據(jù)的一-個(gè)可視化的"差異”
BurpSuite功能模塊——Proxy
Proxy以攔截代理的方式,攔截所有通過(guò)代理的HTTP和HTTPS協(xié)議的流量。通過(guò)攔截,BurpSuite以中間人的方式, 可以對(duì)客戶(hù)端請(qǐng)求數(shù)據(jù)、服務(wù)端返回做各種處理,以達(dá)到安全評(píng)估測(cè)試的目的。
?BurpSuite功能模塊——Interuder
Intruder在原始請(qǐng)求數(shù)據(jù)的基礎(chǔ).上,通過(guò)修改各種請(qǐng)求參數(shù),以獲取不同的請(qǐng)求應(yīng)答。每一-次請(qǐng)求中,Intruder通常 會(huì)攜帶-一個(gè)或多個(gè)有效攻擊載荷,在不同的位置進(jìn)行攻擊重放,通過(guò)應(yīng)答數(shù)據(jù)的比對(duì)分析來(lái)獲得需要的特征數(shù)據(jù)。
?BurpSuite功能模塊——Repeater
作為BurpSuite中一款手工驗(yàn)證HTTP消息的測(cè)試工具,Repeater通常用于多次重放請(qǐng)求響應(yīng)和手工修改請(qǐng)求消息及修改后對(duì)服務(wù)器端響應(yīng)的消息分析。
??Repeater模塊的功能及應(yīng)用場(chǎng)景
作為BurpSuite中一款手工驗(yàn)證HTTP消息的測(cè)試工具,Repeater通常用于 多次重放請(qǐng)求響應(yīng)和手工修改請(qǐng)求消息及修改后對(duì)服務(wù)器端響應(yīng)的消息分析,如:
- 修改請(qǐng)求參數(shù),驗(yàn)證輸入的漏洞
- 修改請(qǐng)求參數(shù),驗(yàn)證邏輯越權(quán)
- 從攔截歷史記錄中,捕獲特征性的請(qǐng)求消息進(jìn)行請(qǐng)求重放
?BurpSuite功能模塊——Sequencer
作為BurpSuite中一款用于檢測(cè)數(shù)據(jù)樣本隨機(jī)性質(zhì)量的工具,Sequencer通常用于檢測(cè)訪問(wèn)令牌是否可預(yù)測(cè)、密碼重置令牌是否可預(yù)測(cè)等場(chǎng)景,通過(guò)Sequencer的數(shù)據(jù)樣本分析,能很好地降低這些關(guān)鍵數(shù)據(jù)被偽造的風(fēng)險(xiǎn)。 的數(shù)據(jù)樣本分析,能很好地降低這些關(guān)鍵數(shù)據(jù)被偽造的風(fēng)險(xiǎn)。
?BurpSuite功能模塊——Decoder
作為BurpSuite中一款編碼解碼工具,Decoder的功能比較簡(jiǎn)單,它能對(duì)原始數(shù)據(jù)進(jìn)行各種編碼格式和散列的轉(zhuǎn)換。
?BurpSuite功能模塊——Comparer
Comparer在BurpSuite中主要提供一個(gè)可視化的差異比對(duì)功能,來(lái)對(duì)比分析兩次數(shù)據(jù)之間的區(qū)別。
?BurpSuite Proxy模塊簡(jiǎn)單使用
Proxy模塊應(yīng)用實(shí)例1- -HTTP報(bào)文抓取與修改
步驟1:設(shè)置BurpSuite代理服務(wù)端口
- 選項(xiàng)卡Proxy-> Options-> Proxy Listeners
- 注意: Tomcat在本機(jī)的默認(rèn)端口是8080,BurpSuite proxy 在本機(jī)的默認(rèn)監(jiān)聽(tīng)端口也是8080,如果同時(shí)打開(kāi)就會(huì)導(dǎo)致端口沖突。因此,建議將BurpSuite proxy的代理端口改為其他不常用端口,如10000。
?步驟2:設(shè)置FireFox瀏覽器代理端口
菜單項(xiàng)“工具”-> "選項(xiàng)”-> "常規(guī)" ->“網(wǎng)絡(luò)設(shè)置”,點(diǎn)擊“設(shè)置"按鈕,在彈出的"連接設(shè)置”對(duì)話框中選擇“手動(dòng)代理配置”,"HTTP代理”處填寫(xiě)127.0.0.1,“端口” 處填寫(xiě)10000 (跟BurpSuite代理服務(wù)端口值保持一致),同時(shí)勾選“也將此代理用于FTP和HTTPS”,設(shè)置完成后點(diǎn)擊"確定”按鈕。
?也可以使用插件Proxy Switchy Omega來(lái)實(shí)現(xiàn)此功能
?步驟3:抓取HTTP請(qǐng)求報(bào)文
- (1)首先關(guān)閉BurpSuite的攔截功能,具體方法為:選項(xiàng)卡Proxy-> Intercept,設(shè)置Intercept is off。
- (2)利用FireF ox瀏覽器訪問(wèn)DVWA網(wǎng)站,正常顯示認(rèn)證頁(yè)面。
?步驟3:抓取HTTP請(qǐng)求報(bào)文
- (3)開(kāi)啟BurpSuite的攔截功能,具體方法為:選項(xiàng)卡Proxy-> Intercept, 設(shè)置Intercept is on.
- (4)在DVWA網(wǎng)站認(rèn)證頁(yè)面輸入登錄用戶(hù)名和密碼(此處可隨便輸入任意字符),并點(diǎn)擊Login按鈕,觀察到BurpSuite已經(jīng)抓到了一個(gè)HTTP請(qǐng)求報(bào)文。
?步驟4:修改HTTP請(qǐng)求報(bào)文
將BurpSuite抓到的HTTP請(qǐng)求報(bào)文的POST表單中的數(shù)據(jù)進(jìn)行修改,設(shè)置正確的用戶(hù)名(admin) 和密碼(password) ,修改完成后多次點(diǎn)擊"Forward" 按鈕發(fā)送此HTTP請(qǐng)求報(bào)文,觀察到DVWA網(wǎng)站認(rèn)證通過(guò),成功登錄。
?Proxy模塊應(yīng)用實(shí)例2-- HTTPS報(bào)文抓取
步驟1: 設(shè)置BurpSuite代理服務(wù)端口。
步驟2:設(shè)置FireFox瀏覽器代理端口。
步驟3:下載并安裝瀏覽器CA證書(shū)
(1)利用FireFox瀏覽器訪問(wèn)http://burp或127.0.0.1:8090, 點(diǎn)擊頁(yè)面右上側(cè)的"CA Certificate" 處下載CA證書(shū)(cacert.der)
?步驟3:下載并安裝瀏覽器CA證書(shū)
(2)在FireFox瀏覽器上選擇菜單項(xiàng)“工具”->. "選項(xiàng)" ->“隱私與安全”->”證
書(shū)",點(diǎn)擊“查看證書(shū)”按鈕,在彈出的“證書(shū)管理器”對(duì)話框中選擇“證書(shū)頒發(fā)機(jī)
構(gòu)”標(biāo)簽頁(yè),點(diǎn)擊“導(dǎo)入”按鈕,將剛剛下載的cacert.der導(dǎo)入,導(dǎo)入時(shí)注意勾選
信任由此證書(shū)頒發(fā)機(jī)構(gòu)來(lái)標(biāo)識(shí)網(wǎng)站”。
?步驟4: HTTPS報(bào)文抓取
- (1) 開(kāi)啟BurpSuite的攔截功能,具體方法為:選項(xiàng)卡Proxy->Intercept,設(shè)置Intercept is on,
- (2)重啟FireFox瀏覽器,并訪問(wèn)https://www.baidu.com,觀察到BurpSuite已經(jīng)抓到了一個(gè)HTTPS請(qǐng)求報(bào)文。
BurpSuite插件
BurpSuite在軟件中提供了支持第3三方拓展插件的功能,方便使用者編寫(xiě)自己的自定義插件或從插件商店中安裝拓展插件。
BurpSuite擴(kuò)展程序以多種方式支持自定義BurpSuite的行為,例如:
- 修改HTTP請(qǐng)求和響應(yīng)
- 自定義UI
- 添加自定義掃描程序檢查以及訪問(wèn)關(guān)鍵運(yùn)行時(shí)信息,包括代理歷史記錄,目標(biāo)站點(diǎn)地圖和掃描程序問(wèn)題等
Extender模塊主要由四個(gè)子模塊組成
1. Extensions:擴(kuò)展
2.BApp Store:應(yīng)用程序商店
3.APIs: 擴(kuò)展API
4.Options:選項(xiàng)
常用的Burpsuite插件
Logger++: BurpSuite 自帶的日志只記錄了HTTP Proxy的請(qǐng)求,無(wú)法查看Repeater. Intruder等 模塊的歷史記錄,Logger+ +增加了這方面的功能,可以方便地篩選查看各模塊歷史記錄。
CSRF Token Tracker:用于滲透測(cè)試過(guò)程中CSRF Token的自動(dòng)更新。
XSS Validator:用于增強(qiáng)BurpSuite對(duì)XSS漏洞的檢測(cè)。
CO2:包含多個(gè)小工具如SQLMapper、User Generator. Prettier JS、ASCII Payload Processo、 Masher等功能等。
Heartbleed:經(jīng)典的Heartbleed心臟出血漏洞。
J2EEScan:該插件能夠檢測(cè)JBoss、Tomcat、 Weblogic. Oracle應(yīng)用服務(wù)
器、Jetty、Apache Axis、JBoss SEAM、Java Server Faces、Apache
谷、Wicket、Grails、 Apache Struts以及多種CVE漏洞。
?BurpSuite Intruder模塊
Intruder模塊的工作原理
Intruder在原始請(qǐng)求數(shù)據(jù)的基礎(chǔ)上,通過(guò)修改各種請(qǐng)求參數(shù),以獲取不同的請(qǐng)求應(yīng)答。每一次請(qǐng)求中,Intruder通 常會(huì)攜帶一個(gè)或多個(gè)有效攻擊載荷(payload),在不同的位置進(jìn)行攻擊重放,通過(guò)應(yīng)答數(shù)據(jù)的比對(duì)分析來(lái)獲得需要的特征數(shù)據(jù)。
?Intruder模塊的常見(jiàn)應(yīng)用場(chǎng)景
- 標(biāo)識(shí)符枚舉: Web應(yīng)用程序經(jīng)常使用標(biāo)識(shí)符來(lái)引用用戶(hù)、賬戶(hù)、資產(chǎn)等數(shù)據(jù)信息,例如用戶(hù)名、密碼、文件ID等。
- 提取有用的數(shù)據(jù):在某些場(chǎng)景下,需要通過(guò)簡(jiǎn)單標(biāo)識(shí)符提取一些其他的數(shù)據(jù)。比如通過(guò)用戶(hù)的個(gè)人空間id,獲取所有用戶(hù)在個(gè)人空間標(biāo)準(zhǔn)的昵稱(chēng)和年齡。
- 模糊測(cè)試:很多輸入型的漏洞,如SQL注入、XSS和文件路徑遍歷等,可以通過(guò)請(qǐng)求參數(shù)提交各種測(cè)試字符串,并分析錯(cuò)誤消息和其他異常情況,來(lái)對(duì)應(yīng)用程序進(jìn)行檢測(cè)。由于應(yīng)用程序的復(fù)雜性,手動(dòng)執(zhí)行這個(gè)測(cè)試是一一個(gè)耗時(shí)且繁瑣的過(guò)程。這樣的場(chǎng)景,可以設(shè)置payload,通過(guò)Intruder自動(dòng)化地對(duì)Web應(yīng)用程序進(jìn)行模糊測(cè)試。
?Intrider模塊——Target子選項(xiàng)卡
用于設(shè)置攻擊目標(biāo)
?Intrider模塊——Positions子選項(xiàng)卡
用于設(shè)置攻擊位置和攻擊模式
?payload的位置
- [Add 6] :在當(dāng)前光標(biāo)的位置添加一一個(gè)Payload位置標(biāo)志
- [Clear 5] :清除所有Payload位置標(biāo)志或者清除選中的Payload位置標(biāo)志
- [Auto 6] :對(duì)消息內(nèi)容中可能需要標(biāo)志的參數(shù)做-一個(gè)猜測(cè),標(biāo)志為Payload位置,自動(dòng)設(shè)置完之后再做人工的選擇,確定哪些位置是需要傳入Payload的。
- [Refresh] :刷新消息內(nèi)容中帶有顏色的部分。
- [Clear] :清除消息編輯器中所有內(nèi)容。
攻擊模式
- 狙擊手模式(Sniper) :單payload位置,單payload集合,簡(jiǎn)單替換,若有多個(gè)payload位置,則會(huì)在每一個(gè)位置 上遍歷- -次payload集合
- 攻城錘模式(Battering ram) :多payload位置,單payload集合, 在多個(gè)位置上使用相同的payload
- 草叉模式(Pitchfork) :多payload位置,多payload集合, 在每個(gè)payload位置.上遍歷對(duì)應(yīng)的payload集合,攻擊次數(shù)為最短的payload集合的元素個(gè)數(shù)
- 集束炸彈模式(Cluster bomb) :多payload位置,多payload集合,以多個(gè)payload集合的笛卡爾積作為攻擊序列。如第一個(gè)位置的payload集合是{A,B},第二格位置的payload集合是{C,D},則攻擊序列為{<A,C>,<A,D>,<B,C>.<B,D>}
?Intruder模塊——Payloads子選項(xiàng)卡
用于設(shè)置攻擊載荷
?payload類(lèi)型一一簡(jiǎn)單列表(Simple list)
最簡(jiǎn)單的payload類(lèi)型, 配置-一個(gè)字符串列表作為payload,也可以手工添加字符串列表或從文件加載字符串列表。
?payload類(lèi)型——運(yùn)行時(shí)文件(Runtime file)
指定文件,作為相對(duì)應(yīng)payload位置上的payload列表。
?payload類(lèi)型——自定義迭代器(Custom iterator)
它共有8個(gè)占位,每個(gè)占位可以定義一個(gè)簡(jiǎn)單列表,最終所使用的payload為每個(gè)占位的簡(jiǎn)單列表的笛卡兒積。
?例如:在HTTP Basic認(rèn)證中,用戶(hù)名密碼的格式是[username]:[password],利用Intruder進(jìn)行爆破,只需要在第-一個(gè)占位中加入username列表,在第二個(gè)占位中輸入”:.",在第三個(gè)占位中輸入password列表,就能產(chǎn)生如圖的效果。
?payload類(lèi)型——字符串替換(Character substitution)
對(duì)預(yù)定義字符串進(jìn)行”枚舉替換“后產(chǎn)生新的payload。
?payload類(lèi)型- -一遞歸提取( Recursive grep)
- 從服務(wù)器端提取有效數(shù)據(jù)的場(chǎng)景,需要先從服務(wù)器的響應(yīng)中提取數(shù)據(jù)作為payload,然后替換payload的位置,進(jìn)行攻擊。
- 遞歸的配置需要進(jìn)入Options->Grep-Extract進(jìn)行配置;使用Recursivegrep模式時(shí),線程數(shù)必須為1
?其它payload類(lèi)型
- 字符塊(Character blocks) :使用一個(gè)給出的輸入字符串,根據(jù)指定的設(shè)置產(chǎn)生指定大小的字符塊,表現(xiàn)形式為生成指定長(zhǎng)度的字符串
- 數(shù)字類(lèi)型(Number) :根據(jù)配置,生成-系列的數(shù)字作為payload
- 日期類(lèi)型(Dates) :根據(jù)配置,生成一系列的日期
- 暴力字典(Brute forcer) :生成包含-一個(gè)指定的字符集的所有排列特定長(zhǎng)度的有效載荷,通常用于枚舉字典的生成
- 空類(lèi)型(Null payloads) : 產(chǎn)生的payload其值是一一個(gè)空字符串
- payload復(fù)制(Copy other payload) :這種類(lèi)型的payload是將其他位置的參數(shù)復(fù)制到payload位置上
?Intruder模塊一一Options子選項(xiàng)卡
- 請(qǐng)求消息頭設(shè)置(Request Headers)
- 請(qǐng)求引擎設(shè)置(Request Engine)
- 攻擊結(jié)果設(shè)置( Attack Results)
- 正則匹配(Grep Match)
- 正則提取(Grep Extract)
- 正則匹配payload (Grep payloads)
- 重定向(Redirections)
?Intruder爆破實(shí)例
Interuder模塊應(yīng)用實(shí)例——DVWA暴力破解(Low級(jí)別)
步驟1:進(jìn)入DVWA,將安全等級(jí)調(diào)至Low,并進(jìn)入網(wǎng)站暴力破解模塊
?步驟2:設(shè)置BurpSuite代理服務(wù)端口和FireFox瀏覽器的代理端口
步驟3:開(kāi)啟BurpSuite攔截功能,并在DVWA網(wǎng)站的暴力破解( Brute Force )模塊登錄處任意輸入用戶(hù)名和密碼,點(diǎn)擊login按鈕, 此時(shí)BurpSuite Proxy會(huì)攔截到HTTP請(qǐng)求報(bào)文。
?步驟4,選中攔截到的HTTP請(qǐng)求寶,發(fā)送到Intruder
?步驟5:進(jìn)入選項(xiàng)卡Intruder-> Positions,先點(diǎn)擊"Clear s"按鈕清空默認(rèn)選擇的位置,然后依次選中"username="和"password="后面的值,并點(diǎn)擊"Add g"按鈕指定爆破位置,同時(shí)將Attack type設(shè)置為"Cluster bomb"(集束炸彈模式)。
?步驟6:進(jìn)入選項(xiàng)卡Intruder-> Payloads,設(shè)置2個(gè)payload set (有效載荷集),分別用于爆破用戶(hù)名(username) 和密碼(password)。
?步驟7:點(diǎn)擊右上方的”Start attack“按鈕執(zhí)行爆破攻擊,并觀察結(jié)果。通過(guò)請(qǐng)求報(bào)文的長(zhǎng)度或應(yīng)答報(bào)文的內(nèi)容判斷,正確用戶(hù)名和密碼為admin/password
DVWA暴力破解High級(jí)別
開(kāi)始實(shí)際操作前,整理思路
- 需要控制的有三個(gè)payload位:username、password、user_token
- 使用正則提取的方法繞過(guò)csrf token對(duì)爆破的限制
思考
- 如果對(duì)username和password都使用simple list會(huì)產(chǎn)生什么結(jié)果?
- 如果想要對(duì)username和password集合的笛卡爾積進(jìn)行測(cè)試應(yīng)該怎么做?
步驟1:開(kāi)啟BurpSuite攔截功能,并在DVWA網(wǎng)站的暴力破解(Brute Force)模塊登錄處任意輸入用戶(hù)名和密碼,點(diǎn)擊login按鈕,此時(shí)BurpSuite Proxy會(huì)攔截到HTTP請(qǐng)求報(bào)文。與Low級(jí)別不同的是,High級(jí)別攔截到的HTTP請(qǐng)求報(bào)文中含有user_token字段。
步驟2: 選中攔截到HTTP請(qǐng)求包,點(diǎn)擊鼠標(biāo)右鍵,選擇“Send to Intrude“。
步驟3:進(jìn)入選項(xiàng)卡Intruder->Positions,按如下方式指定爆破位置,同時(shí)將Attack type設(shè)置為“Pitchfork”(草叉模式)?。
?步驟4:進(jìn)入選項(xiàng)卡Intruder->Payloads,設(shè)置2個(gè)payload set(有效載荷集):
第一個(gè)payload set選擇Custom iterator類(lèi)型。
配置三個(gè)占位,其中第一個(gè)占位是用戶(hù)名合集,第三個(gè)占位是密碼集合
?在Payload Encoding處,禁用對(duì)=和&進(jìn)行URL編碼。
?第二個(gè)payload set選擇Recursive grep類(lèi)型。
步驟5:進(jìn)入選項(xiàng)卡Intruder->Options
?在Error Handing處將線程數(shù)設(shè)置為1
新版的burp在這里設(shè)置
?在Grep-Extract處設(shè)置為遞歸提取的內(nèi)容
?在Redirections處設(shè)置”Follow Redirections“為”always“(總是重定向)。
?步驟6:回到選項(xiàng)卡Intruder->Payloads,在Payload Options處設(shè)置初始token值
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-607277.html
?步驟7:點(diǎn)擊右上方的“Start attack”按鈕執(zhí)行爆破攻擊,并觀察結(jié)果。通過(guò)請(qǐng)求報(bào)文的長(zhǎng)度或應(yīng)答報(bào)文的內(nèi)容判斷,正確的用戶(hù)名和密碼為admin/password。
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-607277.html
到了這里,關(guān)于滲透測(cè)試工具——BurpSuite的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!