滲透測(cè)試工具Burp Suite詳解
Burp Suite 的安裝
Burp Suite是一款集成化的滲透測(cè)試工具,包含了很多功能,可以幫助我們高效地完成對(duì)Web應(yīng)用程序的滲透測(cè)試和攻擊。
Burp Suite由Java語(yǔ)言編寫(xiě),基于Java自身的跨平臺(tái)性,使這款軟件學(xué)習(xí)和使用起來(lái)更方便。Burp Suite不像其他自動(dòng)化測(cè)試工具,它需要手工配置一些參數(shù),觸發(fā)一些自動(dòng)化流程,然后才會(huì)開(kāi)始工作。
te可執(zhí)行程序是Java文件類型的
jar文件,免費(fèi)版可以從官網(wǎng)下載。免費(fèi)版的Burp Suite會(huì)有許多限制,無(wú)法使用很多高級(jí)工具,如果想使用更多的高級(jí)功能,需要付費(fèi)購(gòu)買專業(yè)版。專業(yè)版與免費(fèi)版的主要區(qū)別有以下三點(diǎn)。
Burp Scanner
工作空間的保存和恢復(fù)
拓展工具,如Target Analyzer、Content Discovery和Task Scheduler
————————————————
burp suite就是一個(gè)抓包、改包工具
Burp的安裝一共分為三步:
1、java的安裝
2、環(huán)境變量的配置
3、運(yùn)行burp
burp的安裝與基本使用
java環(huán)境
從java官網(wǎng)進(jìn)行下載:搜索java jdk
安裝完成之后,配置環(huán)境變量:將C:\Program Files\Java\jdk1.8.0_201復(fù)制到
————————————————
現(xiàn)在可以用cmd指令輸入javac輸入java也可以
我這里安裝的是exe文件
Burp Sui雙擊安裝,一直next——》finish
打開(kāi)——》I accept——》彈框選delete——》next——》start burp
免費(fèi)版本沒(méi)有Scanner
Burp Suite入門
設(shè)置代理
burp suite代理工具是以****代理的方式,****所有通過(guò)代理的網(wǎng)絡(luò)流量,如客戶端的請(qǐng)求數(shù)據(jù)、服務(wù)端的返回信息等。burp suite主要****HTTP和HTTPS 寫(xiě)協(xié)議的流量,通過(guò)****,burp以中間人的方式對(duì)客戶端的請(qǐng)求數(shù)據(jù)、服務(wù)端的返回信息做各種處理,以達(dá)到安全測(cè)試的目的。
在日常工作中,最常用的web客戶端就是web瀏覽器,我們可以通過(guò)設(shè)置代理信息,****web瀏覽器的流量,并對(duì)經(jīng)過(guò)burp代理的流量數(shù)據(jù)進(jìn)行處理。burp運(yùn)行之后,Burp Proxy默認(rèn)本地代理端口為8080。如圖:
————————————————
HTTP的代理
以Firedox瀏覽器為例:
打開(kāi)菜單——》選項(xiàng)——》網(wǎng)絡(luò)代理——》設(shè)置——》手動(dòng)配置代理
127.0.0.1端口是8080
如上圖所示,設(shè)置HTTP代理為127.0.0.1,端口為8080,與burp Proxy中的代理一致
端口在0~65535之間設(shè)置
手動(dòng)代理:代理到本機(jī),因?yàn)橄胱尀g覽器通過(guò)本機(jī)把流量發(fā)送到這個(gè)端口,再由burp監(jiān)聽(tīng)到,把包攔下來(lái)(端口的選擇要和burp一樣)
HTTP代理(因?yàn)樽サ氖莌ttp的包)
設(shè)置完后,burp就可以抓包了。
重新打開(kāi):
SSL看做HTTPS就行了
HTTPS的代理
我們要怎么做才能抓HTTPS的包呢?
如果要抓HTTP的包要用HTTP代理
如果要抓HTTPS的包,要用HTTPS代理(SSL proxy)
HTTP默認(rèn)走的是80端口,HTTPS走的是443端口。兩者端口不一樣,要代理HTTPS就一定要用SSL去代理
設(shè)置完代理就可以了嗎?不行
HTTPS(S表示security),多添加了一套SSL層(在TCP和HTTP中間),作加密的。
burp suite有一個(gè)證書(shū):http://burp/(輸入的是http,所以一定要代理http 才可以訪問(wèn)http的網(wǎng)站,代理的是https就可以訪問(wèn)https的網(wǎng)站)
安裝證書(shū)后就可以解密百度傳回的數(shù)據(jù)
導(dǎo)入剛剛下載的證書(shū)
這個(gè)證書(shū)的名字叫PortSwigger CA
導(dǎo)入后彈出的彈框(選第一個(gè)也行,都選中也行)
導(dǎo)入這個(gè)證書(shū)就可以解密https協(xié)議里面的亂碼數(shù)據(jù)了
現(xiàn)在抓一個(gè)百度的包吧!
若只設(shè)置了SSL proxy,能不能抓http是包?不能
因?yàn)闆](méi)有代理http的,只代理了https的,SSL就理解為HTTPS,所有要抓http,要設(shè)置https代理。
總結(jié):抓https的包
抓https就代理ssl,抓http就代理http
抓https還需要導(dǎo)入證書(shū)
代理是代理,導(dǎo)入證書(shū)是導(dǎo)入證書(shū),代理一定要代理ssl,導(dǎo)入證書(shū)是為了通過(guò)https返回來(lái)的數(shù)據(jù)可以解密(證書(shū)是解密的,SSL是代理的)
Proxy(代理)
Burp Proxy的****功能主要由intercept(intercept****/截奪)選項(xiàng)卡中的Forward、Drop、Interception is on/off和Action構(gòu)成,他們的功能如下所示。
Forward(放包)表示將****的數(shù)據(jù)表或修改后的數(shù)據(jù)包發(fā)送至服務(wù)器端。
Drop(廢包)表示丟棄當(dāng)前****的數(shù)據(jù)包
Interception is on(****請(qǐng)求)表示開(kāi)啟****功能,單擊后變?yōu)閕nterception is off(****禁用),表示關(guān)閉****功能
單擊Action(行動(dòng))按鈕,可以將數(shù)據(jù)包進(jìn)一步發(fā)送到Spider、scanner、Repeater、Intruder等功能組件做進(jìn)一步測(cè)試,同時(shí)也包含改變數(shù)據(jù)包請(qǐng)求方式及其body的編碼功能。(發(fā)送到其他功能組件)
打開(kāi)瀏覽器,輸入需要訪問(wèn)的URL并按回車鍵,這時(shí)將看到數(shù)據(jù)流量經(jīng)過(guò)Burp Proxy并暫停,直到單擊Foreword按鈕,才會(huì)繼續(xù)傳輸下去。如果單擊了Drop按鈕,這次通過(guò)的數(shù)據(jù)將丟失,不再繼續(xù)處理。
當(dāng)Burp Suite****的客戶端和服務(wù)器交互之后,我們可以在Burp Suite的消息分析選項(xiàng)中查看這次請(qǐng)求的實(shí)體內(nèi)容、消息頭、請(qǐng)求參數(shù)等信息。Burp有四種消息類型顯示數(shù)據(jù)包:Raw、Params、Headers和Hex。
Raw主要顯示web請(qǐng)求的raw格式,以純文本的形式顯示數(shù)據(jù)包,包含請(qǐng)求地址、Http協(xié)議版本、主機(jī)頭、瀏覽器信息、Accept可接受的內(nèi)容類型、字符集、編碼方式、cookie等,可以通過(guò)手動(dòng)修改這些信息,對(duì)服務(wù)器端進(jìn)行滲透測(cè)試。(Raw就是以文本的形式顯示數(shù)據(jù)包)
Params主要顯示客戶端請(qǐng)求的參數(shù)信息,包括GET或者POST請(qǐng)求的參數(shù)、cookie參數(shù)。可以通過(guò)修改這些請(qǐng)求參數(shù)完成對(duì)服務(wù)器端的滲透測(cè)試。
Headers中顯示的是數(shù)據(jù)包中的頭信息,以名稱、值的形式顯示數(shù)據(jù)包。
Hex對(duì)應(yīng)的是Raw中信息的二進(jìn)制內(nèi)容,可以通過(guò)Hex編輯器對(duì)請(qǐng)求的內(nèi)容進(jìn)行修改,在進(jìn)行00截?cái)鄷r(shí)非常好用。
target
filter過(guò)濾
Spider
Spider的蜘蛛爬行功能可以幫助我們了解系統(tǒng)的機(jī)構(gòu),其中Spider爬取到的內(nèi)容將在Target中展示
Decoder
Decoder的功能比較簡(jiǎn)單,它是Burp中自帶的編碼解碼及散列轉(zhuǎn)換的工具,能對(duì)原始數(shù)據(jù)進(jìn)行各種編碼格式和散列的轉(zhuǎn)換。
Repeater
可以重復(fù)的發(fā)一個(gè)包
API就是寫(xiě)插件用的東西
在repeater里面的數(shù)據(jù)都可以相互轉(zhuǎn)發(fā)的
Extender(插件擴(kuò)展/擴(kuò)展程序)
BApp Store是官方插件,需要專業(yè)版才可以install
Intruder(暴力破解)
將剛剛repeater的內(nèi)容發(fā)送到intruder
上圖可知:它攻擊的目標(biāo)是百度,端口是443,使用的是HTTPS
把美元$清除了
比如想遍歷一下百度的目錄
攻擊方式
sniper
payload里面有三個(gè)重要的模塊
上面添加的11和22有什么效果呢?
11和22會(huì)在GET /11 GET /22
start attack一下:
Battering ram
Pitchfork
選擇pitch攻擊方式,payloads里面就有兩個(gè)payload(因?yàn)檫x擇了兩個(gè)地方要變化,如下圖)
(多個(gè)標(biāo)記需要用不同的字典去替換)
如果有三個(gè)地方要變,就是三個(gè)payload了
將第二個(gè)payload設(shè)為33和44
Cluster bomb
相當(dāng)于所有的排列組合
intruder主要就是做暴力破解的,還有一個(gè)點(diǎn)比較重要,就是payload processing:
比如GET的值是一個(gè)MD5,提交上去必須用明文的MD5
這里要顯示11和22的MD5怎么做呢?
把payload處理成MD5(Payload Processing——》Hash——》MD5)
點(diǎn)擊stack,下圖中上面一行就是11的MD5:
intruder–options中的Grep-Match★
Grep-Match:
當(dāng)我們用所有字典中的內(nèi)容去對(duì)數(shù)據(jù)包中的動(dòng)態(tài)變量去進(jìn)行替換的時(shí)候,如何判斷哪個(gè)請(qǐng)求是撞成功了?
這時(shí)候就要用到grep-match這個(gè)功能了
比如:當(dāng)我們登錄失敗的時(shí)候會(huì)提示我們username or password is not exists~
反過(guò)來(lái)說(shuō),當(dāng)我們輸入一個(gè)正確是用戶名密碼肯定不會(huì)提示username or password is not exists~
那我們就可以把這個(gè)提示的內(nèi)容作為一個(gè)區(qū)分,來(lái)讓burpsuite去查找,哪些請(qǐng)求的響應(yīng)里面沒(méi)有提示——》就意味著那個(gè)請(qǐng)求是正確的請(qǐng)求
也就是我們可以把所有響應(yīng)的數(shù)據(jù)表里面包含的字符串的內(nèi)容flag出來(lái),那反過(guò)來(lái)說(shuō),沒(méi)有被flag的數(shù)據(jù)包就是撞成功的數(shù)據(jù)包
介紹一個(gè)代理插件Switchy Omega
————————————————
版權(quán)聲明:本文為CSDN博主「Wαff1ε」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Waffle666/article/details/111083913
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。