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

[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發送。

0x04 參考連接

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

相關文章
相關標籤/搜索