博客專欄

EEPW首頁 > 博客 > 滲透測試工具Burp Suite詳解

滲透測試工具Burp Suite詳解

發(fā)布人:電子禪石 時間:2023-09-26 來源:工程師 發(fā)布文章

Burp Suite 的安裝

Burp Suite是一款集成化的滲透測試工具,包含了很多功能,可以幫助我們高效地完成對Web應(yīng)用程序的滲透測試和攻擊。


Burp Suite由Java語言編寫,基于Java自身的跨平臺性,使這款軟件學(xué)習(xí)和使用起來更方便。Burp Suite不像其他自動化測試工具,它需要手工配置一些參數(shù),觸發(fā)一些自動化流程,然后才會開始工作。


te可執(zhí)行程序是Java文件類型的




jar文件,免費版可以從官網(wǎng)下載。免費版的Burp Suite會有許多限制,無法使用很多高級工具,如果想使用更多的高級功能,需要付費購買專業(yè)版。專業(yè)版與免費版的主要區(qū)別有以下三點。


Burp Scanner

工作空間的保存和恢復(fù)

拓展工具,如Target Analyzer、Content Discovery和Task Scheduler

————————————————

burp suite就是一個抓包、改包工具


Burp的安裝一共分為三步:

1、java的安裝

2、環(huán)境變量的配置

3、運行burp


burp的安裝與基本使用


java環(huán)境

從java官網(wǎng)進行下載:搜索java jdk

安裝完成之后,配置環(huán)境變量:將C:\Program Files\Java\jdk1.8.0_201復(fù)制到

————————————————

在這里插入圖片描述

點擊確定

然后打開bin目錄,再將目錄C:\Program Files\Java\jdk1.8.0_201\bin復(fù)制到

在這里插入圖片描述

現(xiàn)在可以用cmd指令輸入javac輸入java也可以

在這里插入圖片描述


出現(xiàn)如圖情況,說明環(huán)境變量配置成功。

下載burp

下載地址:https://portswigger.net/burp


我這里安裝的是exe文件


Burp Sui雙擊安裝,一直next——》finish

打開——》I accept——》彈框選delete——》next——》start burp

在這里插入圖片描述




免費版本沒有Scanner


Burp Suite入門

設(shè)置代理

      burp suite代理工具是以****代理的方式,****所有通過代理的網(wǎng)絡(luò)流量,如客戶端的請求數(shù)據(jù)、服務(wù)端的返回信息等。burp suite主要****HTTP和HTTPS 寫協(xié)議的流量,通過****,burp以中間人的方式對客戶端的請求數(shù)據(jù)、服務(wù)端的返回信息做各種處理,以達到安全測試的目的。

      在日常工作中,最常用的web客戶端就是web瀏覽器,我們可以通過設(shè)置代理信息,****web瀏覽器的流量,并對經(jīng)過burp代理的流量數(shù)據(jù)進行處理。burp運行之后,Burp Proxy默認本地代理端口為8080。如圖:

————————————————

在這里插入圖片描述


HTTP的代理

以Firedox瀏覽器為例:

打開菜單——》選項——》網(wǎng)絡(luò)代理——》設(shè)置——》手動配置代理

127.0.0.1端口是8080



如上圖所示,設(shè)置HTTP代理為127.0.0.1,端口為8080,與burp Proxy中的代理一致

端口在0~65535之間設(shè)置

手動代理:代理到本機,因為想讓瀏覽器通過本機把流量發(fā)送到這個端口,再由burp監(jiān)聽到,把包攔下來(端口的選擇要和burp一樣)

HTTP代理(因為抓的是http的包)


設(shè)置完后,burp就可以抓包了。

重新打開:


SSL看做HTTPS就行了


HTTPS的代理

我們要怎么做才能抓HTTPS的包呢?


如果要抓HTTP的包要用HTTP代理

如果要抓HTTPS的包,要用HTTPS代理(SSL proxy)

HTTP默認走的是80端口,HTTPS走的是443端口。兩者端口不一樣,要代理HTTPS就一定要用SSL去代理


設(shè)置完代理就可以了嗎?不行

HTTPS(S表示security),多添加了一套SSL層(在TCP和HTTP中間),作加密的。

burp suite有一個證書:http://burp/(輸入的是http,所以一定要代理http 才可以訪問http的網(wǎng)站,代理的是https就可以訪問https的網(wǎng)站)


安裝證書后就可以解密百度傳回的數(shù)據(jù)


導(dǎo)入剛剛下載的證書


這個證書的名字叫PortSwigger CA

導(dǎo)入后彈出的彈框(選第一個也行,都選中也行)

導(dǎo)入這個證書就可以解密https協(xié)議里面的亂碼數(shù)據(jù)了


現(xiàn)在抓一個百度的包吧!


若只設(shè)置了SSL proxy,能不能抓http是包?不能

因為沒有代理http的,只代理了https的,SSL就理解為HTTPS,所有要抓http,要設(shè)置https代理。


總結(jié):抓https的包

抓https就代理ssl,抓http就代理http

抓https還需要導(dǎo)入證書

代理是代理,導(dǎo)入證書是導(dǎo)入證書,代理一定要代理ssl,導(dǎo)入證書是為了通過https返回來的數(shù)據(jù)可以解密(證書是解密的,SSL是代理的)


Proxy(代理)

Burp Proxy的****功能主要由intercept(intercept****/截奪)選項卡中的Forward、Drop、Interception is on/off和Action構(gòu)成,他們的功能如下所示。


Forward(放包)表示將****的數(shù)據(jù)表或修改后的數(shù)據(jù)包發(fā)送至服務(wù)器端。


Drop(廢包)表示丟棄當(dāng)前****的數(shù)據(jù)包


Interception is on(****請求)表示開啟****功能,單擊后變?yōu)閕nterception is off(****禁用),表示關(guān)閉****功能


單擊Action(行動)按鈕,可以將數(shù)據(jù)包進一步發(fā)送到Spider、scanner、Repeater、Intruder等功能組件做進一步測試,同時也包含改變數(shù)據(jù)包請求方式及其body的編碼功能。(發(fā)送到其他功能組件)


打開瀏覽器,輸入需要訪問的URL并按回車鍵,這時將看到數(shù)據(jù)流量經(jīng)過Burp Proxy并暫停,直到單擊Foreword按鈕,才會繼續(xù)傳輸下去。如果單擊了Drop按鈕,這次通過的數(shù)據(jù)將丟失,不再繼續(xù)處理。


當(dāng)Burp Suite****的客戶端和服務(wù)器交互之后,我們可以在Burp Suite的消息分析選項中查看這次請求的實體內(nèi)容、消息頭、請求參數(shù)等信息。Burp有四種消息類型顯示數(shù)據(jù)包:Raw、Params、Headers和Hex。


Raw主要顯示web請求的raw格式,以純文本的形式顯示數(shù)據(jù)包,包含請求地址、Http協(xié)議版本、主機頭、瀏覽器信息、Accept可接受的內(nèi)容類型、字符集、編碼方式、cookie等,可以通過手動修改這些信息,對服務(wù)器端進行滲透測試。(Raw就是以文本的形式顯示數(shù)據(jù)包)


Params主要顯示客戶端請求的參數(shù)信息,包括GET或者POST請求的參數(shù)、cookie參數(shù)??梢酝ㄟ^修改這些請求參數(shù)完成對服務(wù)器端的滲透測試。


Headers中顯示的是數(shù)據(jù)包中的頭信息,以名稱、值的形式顯示數(shù)據(jù)包。


Hex對應(yīng)的是Raw中信息的二進制內(nèi)容,可以通過Hex編輯器對請求的內(nèi)容進行修改,在進行00截斷時非常好用。


target



filter過濾


Spider

Spider的蜘蛛爬行功能可以幫助我們了解系統(tǒng)的機構(gòu),其中Spider爬取到的內(nèi)容將在Target中展示


Decoder

Decoder的功能比較簡單,它是Burp中自帶的編碼解碼及散列轉(zhuǎn)換的工具,能對原始數(shù)據(jù)進行各種編碼格式和散列的轉(zhuǎn)換。


Repeater

可以重復(fù)的發(fā)一個包


API就是寫插件用的東西


在repeater里面的數(shù)據(jù)都可以相互轉(zhuǎn)發(fā)的


Extender(插件擴展/擴展程序)

BApp Store是官方插件,需要專業(yè)版才可以install


Intruder(暴力破解)

將剛剛repeater的內(nèi)容發(fā)送到intruder


上圖可知:它攻擊的目標是百度,端口是443,使用的是HTTPS


把美元$清除了

比如想遍歷一下百度的目錄




攻擊方式

sniper

payload里面有三個重要的模塊


上面添加的11和22有什么效果呢?

11和22會在GET /11 GET /22


start attack一下:




Battering ram




Pitchfork

選擇pitch攻擊方式,payloads里面就有兩個payload(因為選擇了兩個地方要變化,如下圖)

(多個標記需要用不同的字典去替換)




如果有三個地方要變,就是三個payload了


將第二個payload設(shè)為33和44




Cluster bomb



相當(dāng)于所有的排列組合


intruder主要就是做暴力破解的,還有一個點比較重要,就是payload processing:

比如GET的值是一個MD5,提交上去必須用明文的MD5

這里要顯示11和22的MD5怎么做呢?

把payload處理成MD5(Payload Processing——》Hash——》MD5)


點擊stack,下圖中上面一行就是11的MD5:



intruder–options中的Grep-Match★

Grep-Match:

當(dāng)我們用所有字典中的內(nèi)容去對數(shù)據(jù)包中的動態(tài)變量去進行替換的時候,如何判斷哪個請求是撞成功了?

這時候就要用到grep-match這個功能了

比如:當(dāng)我們登錄失敗的時候會提示我們username or password is not exists~


反過來說,當(dāng)我們輸入一個正確是用戶名密碼肯定不會提示username or password is not exists~

那我們就可以把這個提示的內(nèi)容作為一個區(qū)分,來讓burpsuite去查找,哪些請求的響應(yīng)里面沒有提示——》就意味著那個請求是正確的請求



也就是我們可以把所有響應(yīng)的數(shù)據(jù)表里面包含的字符串的內(nèi)容flag出來,那反過來說,沒有被flag的數(shù)據(jù)包就是撞成功的數(shù)據(jù)包


介紹一個代理插件Switchy Omega







————————————————

版權(quán)聲明:本文為CSDN博主「Wαff1ε」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/Waffle666/article/details/111083913


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: Burp

技術(shù)專區(qū)

關(guān)閉