[TOC] 在Web滲透測試過程當中,BurpSuite是不可或缺的神器之一。html
BurpSuite的核心是代理Proxy,一般狀況下使用BurpSuite的套路是:瀏覽器設置BurpSuite代理——>訪問Web應用程序——>BurpSuite抓包分析。 今天就寫一些不同的,給BurpSuit設置非本地的網絡代理linux
0x01 通常狀況
最通常的情形是針對採用HTTP協議的Web應用程序的滲透測試。這種狀況下,直接設置瀏覽器的代理服務器爲BurpSuite便可,默認爲127.0.0.1:8080。 瀏覽器
固然,直接更改瀏覽器的代理服務器設置比較繁瑣,更好的辦法是使用瀏覽器插件,預先設置好代理方案,而後根據實際狀況一鍵切換。Chrome推薦使用Proxy SwitchyOmega插件: 服務器
0x02 移動端流量抓取
有時候,咱們還須要對移動APP進行抓包分析,這時候該怎麼辦?網絡
其實很簡單,兩步便可解決。post
第一步,在BurpSuite的Proxy Listeners中,選中當前在用的代理,點擊左側的Edit按鈕,在彈出的對話框中,將Bind to address選項設置爲All interfaces。測試
第二步,手機和PC鏈接同一Wifi,打開手機Wifi設置,設置HTTP代理服務器爲BurpSuite所在的PC的IP地址,端口爲BurpSuite的代理端口。 以iPhone爲例,其設置以下圖所示:網站
固然,若是APP走的是HTTPS通道,仍然須要安裝證書才能正常訪問,這裏安裝證書的過程,我沒有寫上來,網上有不少寫得比較好的。ui
0x03 多重代理的情形
在某些網絡環境中,訪問目標網站須要走代理。好比說,爲了訪問google.com,google
我已經提早搭配好了一臺M國的代理服務器
(若是不清楚怎麼搭建代理服務器的話,推薦看一下個人另外一篇博文:linux搭建代理服務器 https://www.cnblogs.com/-mo-/p/11251369.html)
如今我想對google.com進行滲透測試,那麼該怎麼設置瀏覽器代理?
這時候不能簡單的把瀏覽器代理設置爲BurpSuite,這樣雖然能夠進行抓包,可是沒有了M國代理服務器的幫助,咱們是沒法訪問google.com的,抓包也就沒有意義了。這時候該怎麼辦?
在這種狀況下,咱們必須藉助代理鏈了。
顧名思義,代理鏈就一系列的代理造成的鏈條。像剛纔那種情形,咱們首先設置瀏覽器的代理爲BurpSuite以便可以抓包;而後爲BurpSuite再設置一個上游代理即M國的代理服務器。
這樣訪問google.com時,請求數據先通過BurpSuite,因而能夠進行抓包了;而後再流向M國的代理服務器,最後通過本地服務器到達google.com。
服務器端返回的響應則恰好相反。經過這個BurpSuite ==> M國代理服務器的代理鏈,咱們就解決了本節開頭所描述的問題。
做爲一個神器,BurpSuite是具有這個功能的。
在BurpSuite的User options下的Connections頁面中,有『Upstream Proxy Servers』和『SOCKS Proxy』這兩個配置項,都是跟代理鏈相關的。接下來逐一進行說明。
3.1 Upstream Proxy Servers
在該設置項中,能夠設置多個上游代理服務器規則,知足規則的請求將被髮送至相應的代理服務器。只說概念過於無聊,這裏就以chaipip.com(一個查詢IP地址的網址)爲例,進行說明。
爲了對chaipip.com進行抓包分析,咱們首先要設置瀏覽器的代理爲BurpSuite,這一點是毫無疑問的。
爲了可以經過代理訪問chaipip.com,還須要設置BurpSuite的上流代理爲(113.121.20.183:9999)(這個上流代理也就是上文所說的那臺代理服務器的IP及端口)
點擊Upstream Proxy Servers列表框左側的Add按鈕,打開『Edit upstream proxy rule』對話框。
這裏一共有8個設置項,通常狀況下只需關注前4個:
-
Destination host:這裏填入目標網站域名或者IP,支持通配符
(*表示0個或者任意個字符,?表示除點號以外的任意一個字符)。在本例中,咱們能夠填入*.chaipip.com。
-
Proxy host:填入代理服務器的IP地址,即113.121.20.183。若是爲空表示直接鏈接。
-
Proxy port:填入的代理地址,即9999。
-
Authentication type:這裏選擇認證類型,因爲這是無償使用的一個代理,無需認證,這是選擇None。若是Authentication type爲None,則接下來的4項內容無需理會,不然須要根據實際狀況設置如下4項內容。
-
Username:用戶名。
-
Password:密碼。
-
Domain:域。僅用於NTLM認證類型。
-
Domain hostname:域主機名。僅用於NTLM認證類型。
設置內容以下圖所示,最後點擊OK便可。
這時候,你經過瀏覽器使用的本地代理選項,會發現chaipip.com所顯示你的IP爲剛剛設置的代理服務器的IP,而且BurpSuite中也成功地抓取到了相應的請求報文。
你能夠同時設置多個Upstream Proxy Servers,在使用過程當中,BurpSuite會按順序將請求的主機與Destination host中設置的內容進行比較,並將請求內容發送至第一個相匹配的Proxy server。
所以,Proxy Server的順序很重要,講究個先來後到!
3.2 SOCKS Proxy
與Upstream Proxy Servers的做用相似,SOCKS Proxy的功能也是將請求內容發送至相應的代理服務器。不一樣之處在於,SOCKS Proxy做用於TCP協議層,所以若是設置了該項,那麼全部的請求數據都會被髮送至SOCKS代理服務器。因此,SOCKS Proxy的設置更簡單。一樣以避免費的代理服務器爲例,先在下方的輸入框中依次填入SOCKS代理服務器的IP、端口(若是SOCKS代理服務器須要認證,還須要填寫用戶名和密碼),而後勾選Use SOCKS proxy便可。
須要注意的一點是,若是同時設置了Upstream Proxy Servers和SOCKS Proxy,則根據規則應該發送至上游代理的請求將會經過SOCKS Proxy發送。