[WEB安全]給BurpSuite設置非本地的網絡代理



在Web滲透測試過程中,BurpSuite是不可或缺的神器之一。

BurpSuite的核心是代理Proxy,通常情況下使用BurpSuite的套路是:瀏覽器設置BurpSuite代理——>訪問Web應用程序——>BurpSuite抓包分析。
今天就寫一些不一樣的,給BurpSuit設置非本地的網絡代理

0x01 一般情況

最一般的情形是針對采用HTTP協議的Web應用程序的滲透測試。這種情況下,直接設置瀏覽器的代理服務器為BurpSuite即可,默認為127.0.0.1:8080。

當然,直接更改瀏覽器的代理服務器設置比較繁瑣,更好的辦法是使用瀏覽器插件,預先設置好代理方案,然后根據實際情況一鍵切換。Chrome推薦使用Proxy SwitchyOmega插件:

0x02 移動端流量抓取

有時候,我們還需要對移動APP進行抓包分析,這時候該怎么辦?

其實很簡單,兩步即可解決。

第一步,在BurpSuite的Proxy Listeners中,選中當前在用的代理,點擊左側的Edit按鈕,在彈出的對話框中,將Bind to address選項設置為All interfaces。

第二步,手機和PC連接同一Wifi,打開手機Wifi設置,設置HTTP代理服務器為BurpSuite所在的PC的IP地址,端口為BurpSuite的代理端口。
以iPhone為例,其設置如下圖所示:

當然,如果APP走的是HTTPS通道,仍然需要安裝證書才能正常訪問,這里安裝證書的過程,我沒有寫上來,網上有很多寫得比較好的。

0x03 多重代理的情形

在某些網絡環境中,訪問目標網站需要走代理。比如說,為了訪問google.com,

我已經提前搭配好了一台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發送。

0x04 參考鏈接

https://www.anquanke.com/post/id/85925


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM