很多朋友做安全測試的,好多人應該都使用過burpsuite工具,這個工具功能強大,除了抓包,截包,改包功能使用外那就是安全了。這里簡單的講一下基本功能,proxy、repeater、spider、intruder一般會中四個功能也就夠玩的了。
1.Target(目標)——顯示目標目錄結構的的一個功能
2.Proxy(代理)——是一個攔截HTTP/S的代理服務器(抓包),作為一個在瀏覽器和目標應用程序之間的中間人,允許你攔 截,查看,修改在兩個方向上的原始數據流。
3.Spider(爬蟲)——是一個應用智能感應的網絡爬蟲,它能完整的枚舉應用程序的內容和功能。
4.Scanner(掃描器)[僅限專業版]——是一個高級的工具,執行后,它能自動地發現web 應用程序的安全漏洞。
5.Intruder(入侵)——是一個定制的高度可配置的工具,對web應用程序進行自動化攻擊,如:枚舉標識符,收集有用的數 據,以及使用fuzzing 技術探測常規漏洞。
6.Repeater(中繼器)——是一個靠手動操作來補發單獨的HTTP 請求,並分析應用程序響應的工具。
7.Sequencer(會話)——是一個用來分析那些不可預知的應用程序會話令牌和重要數據項的隨機性的工具。
8.Decoder(解碼器)——是一個進行手動執行或對應用程序數據者智能解碼編碼的工具。
9.Comparer(對比)——是一個實用的工具,通常是通過一些相關的請求和響應得到兩項數據的一個可視化的“差異”。
10.Extender(擴展)——可以讓你加載Burp Suite的擴展,使用你自己的或第三方代碼來擴展Burp Suit的功能。
11.Options(設置)——對Burp Suite的一些設置
site map
這個主要是由spider功能模塊爬出對應網站的一個站點地圖,這里我通過spider功能扒取本地的一個74cms做測試。具體的怎么爬出站點地圖在稍后的spider進行介紹。
如圖所示的,
區塊1就是掃描整個網站的站點地圖
區塊2就是遞交的請求情況
區塊3就是請求頭和響應頭的詳細信息,包括源碼,參數,頭,16進制碼。
區塊4就是該網站存在的問題,這個spider功能能夠掃描出網站一些比較明顯的問題,當然肯定不全面,參考意義不是很大,漏洞掃描器推薦awvs,這個最開始還是比較好用的,不過到后來就會發現其實很多漏洞根本掃不出來。
區塊5就是對應問題的詳細信息以及解決方法。
然后可以看出區塊上面還有一個filter的功能,這也是一個比較強大的功能,稍后做介紹。
scope
然后是target下的scope欄目,
Proxy
這個代理抓包功能應該是使用最頻繁的功能之一了,原理就是通過把127.0.0.1設置為代理服務器,由本機發起的請求都會通過127.0.0.1,
然后我們就可以把請求和響應包都截取下來。
首先要在瀏覽器的設置里添加一個代理,以火狐瀏覽器為例,點擊選項,如下圖
這里我設置的ip和端口分別是127.0.0.1和8080端口,然后在proxy下的Options一欄如下操作
注意這里端口號一定要與瀏覽器設定的代理服務器端口號一致,如果8080被其他應用占用,可以將二者均換掉也無所謂。
這樣,所有瀏覽器發出的請求和接受的響應都會被burpsuite攔截(PS:最后記得將瀏覽器的代理服務器勾選為不使用代理,否則一旦buresuite關了就可能上不了網了)
現在來介紹功能:
intercept
截取到包如下圖:
Forward:通俗來說就是將包發送出去
Drop:丟棄掉包
action的功能如下,也可以右鍵點擊空白處
1-7分別對應到發送到最上方的七個模塊
其他的英文應該都能讀懂,自己試試就知道了,都比較清晰的
HTTP history
這個就是截取包的歷史記錄
然后我們來看看這個filter功能
1、三項對應的是
- 只顯示范圍內的網址,這個主要在前面站點地圖那里設置scope時的篩選
- 隱藏沒有響應的記錄
- 只展示有請求參數的記錄
2、這里手動輸入篩選條件可以支持正則、大小寫敏感等
3、根據MIME類型進行篩選
4、展示和隱藏那些類型的請求記錄
5、根據響應的HTTP狀態碼來篩選
6、顯示評論過的和高亮的記錄。注意,這里通過對記錄點擊右鍵是可以附加自己的評論或者是某一條記錄以一種顏色高亮的。
7、端口篩選
Option
這里我主要截圖介紹了一些常用的設置,其他不常用的就自己看吧。
Spider
control
要使用該功能就要先通過Proxy功能抓包,然后右鍵send to spider就行了,然后spider就開會運行,下圖是運行結束后的情形
Options
這里截取幾個個人較為常用的,其他一般不做修改,需要使用的時候自己看就行了
爬蟲設置。
檢查robots.txt,探測響應為not found等等。
下面的兩個數字分別是最深的探測深度以及最多傳遞多少個參數
表單的提交設置。這個非常重要,就是爬蟲遇到表單的時候怎么提交,顯示是三個單選框,第一個就是不提交,第二個就彈出框體來由我們自己來填寫並提交,第三個就是按照表中我們預先設定的值進行提交。
為什么說這個非常重要,因為表單和漏洞息息相關。。。
爬蟲的引擎設置。
1、同時運行的線程數
2、如果失敗了重試次數
3、重試延遲
一般來說都選用默認值,另外錯誤的話會最后的alert處顯示出來,隨時要關注。
intruder
定義通過添加字典(XSS,SQLI等等)來實現一個自動化的攻擊或是密碼爆破
Target
一般來說我們使用intruder功能都是由Proxy然后send過來的,所以該欄目會默認填寫的,當然也可以自己填,主要就是ip和端口號。
position
就是對HTTP請求進行操作了,定義通過添加字典(XSS,SQLI等等)來實現自動化。這里就是定義我們所選用的字典替換請求中的哪一部分需要被替換。然后至於那個attack type有四種
1、sniper,就是將字典一次賦給我們的多個參數,比如我們有三個參數,分別是a,b,c,字典里面有五個值(1,2,3,4,5),那么該模式下我們會先把a用字典替換,b、c保持原值,然后b用字典替換,a、c保持原值,以此類推。
2、battering ram,就是同時將a,b,c都用字典替換,例如a,b,c都用1替換,都用2替換。
3、pitchfork,那就是需要我們導入三個字典,依次對應進行替換。
4、cluster bomb,這個說起來比較麻煩,也是導入三個字典,就是比如a,b,c三個,原本應該有字典1替換a,字典2替換b,字典3替換c,然后它還會繼續排列組合,比如字典1替換b,字典2替換c,字典3替換a,知道嘗試完所有可能。
這個可以自己試一試然后觀看一下結果就知道各個模式的作用了。
同樣這個對一部分文本右鍵也是有很多功能,這里不做詳述。
payload
這里就是字典的導入,可以手動添加,也可以文件導入。
第一個數字就是第幾本字典,第二個就是選擇模式,有很多種
simple list:就是最簡單的,手動輸入或是文件導入都可以,可以導入多個字典。一般較少的數據使用該模式。
runtime file:這個應該主要就是針對較大批量的數據的字典把。
number:就是設置from 和to從多少到多少,然后step是間隔,例如from為1,to為100,step為2,那么payload就是1,3,5….
brute forcer:暴力破解,嘗試你定義字符的所有組合,可以設置最小和最大長度,純暴力破解。
接下來是payload Processing一欄,主要是對payload進行統一的規則設置,
Options
最后就是一些設置,和之前的差不太多,什么線程啊,失敗重傳啊等等之類不做想說了。
當所有一切設置好之后
點擊右上角start attack就可以開始了。
0x06 Repeater
一般使用這個功能也是通過Proxy抓包然后send過來的。
主要就是修改請求的各項參數等等然后點擊左上角的go發送出去,然后在右邊接受到請求,請求和響應都可以以不同的形式展示出來。
Decoder
編碼解碼功能,沒有太多可說的,自己隨便試試就知道了
0x08 Comparer
主要是一個比較功能。
- 可以在Proxy處截包發送過來進行比較
- 也可以直接加載文件進行比較
用法比較簡單個人使用頻率也很高。
0x09 Alerts
這里展示警告信息。一定要隨時關注這里。
一般來說就是比如爬蟲的時候遞交請求頻率過快而被服務器拒絕訪問等等之類的