1. 程式人生 > 其它 >三、Burp Suite 代理攔截工具

三、Burp Suite 代理攔截工具


最後編輯時間 :2021.06.15 ,如有錯誤之處歡迎批評指正。

前言

瀏覽器在訪問站點時會提交 Request Header 資訊( 網路相關連結 : request headers 和 response headers

在前面的 SQLMap 滲透測試中,使用 SQLMap 工具在探測 Sqlilabs 靶場第 1 和 11 關時可以探測到其有漏洞,並可以拿到資料庫裡的資料 。

SQLMap 的框架結構為目錄式,沒有核心框架,可以直接通過 URL 到達特定的頁面,探測時直接通過 -u 製造的 Request Header 與直接在瀏覽器裡瀏覽時的產生的 Request Header 是一致的 ,此時只考慮了 URL 和 GET 、 POST 兩種傳參方式 。但實際上,Request Header 是站點伺服器判斷使用者能否正常進入站點內部頁面的一個重要參考資訊。

DVWA 為框架式站點,站點伺服器需要驗證 Request Header 資訊,不可直接通過 URL 到達特定的頁面 。

當站點伺服器需要驗證 Request Header 資訊時,使用 sqlmap -u 的形式很可能在初探時就失敗 ,若沒有正確的 Request Header 資訊將無法進入站點內部,如 :被伺服器 302 重定向到站點的登陸介面 ,無法到達探測頁面 ,後續步驟無法進行 ,但這並不意味著此站點無法被注入 ,只是此方式無法進入 。

Burp Suite 代理工具可以攔截請求地址的 Request Header 並複用 ,然後使用 SQLMap 工具探測,從而達到進入站點內部頁面的目的 。

Burp Suite 介紹

Burp Suite 代理工具是以攔截代理的方式攔截所有通過代理的網路流量( 主要是 HTTP 和 HTTPS 協議流量 )並以中間人的方式對攔截的流量進行處理,達到安全測試的目的。

Kali 中預設安裝的 Burp Suite 為社群版(沒有 Scanner) ,預設開啟的本地代理埠為 8080(如下圖所示)

網路相關連結

Burp Suite 介面中文介紹

BurpSuite 基礎教程_hualusiyu的專欄-CSDN部落格

DVWA 實踐

任務要求

  1. 從 Burp Suite 獲取訪問 DVWA Injection Low 的 Request Header
  2. 利用 ① 獲取到的資訊獲取到對方的庫表列值
  3. 將 Burp Suite 獲取到的包匯入 repeater 進行重放,並修改頭部引數在右側的 response 中檢視不同的訪問效果
  4. 利用 Burp Suite 對 DVWA Brute Force Low 口令部分進行爆破,使用者名稱 :admin

Burp Suite 獲取 Request Header

站點 :DVWA - SQL Injection ,難度級別 :Low

  • 開啟 Burp Suite ,將瀏覽器代理地址設定為 Burp Suite 的預設代理地址 :( 下圖為 Firefox 瀏覽器的代理設定頁面 )
  • 在 SQL Injection 輸入一個 ID 值,點選 Submit 後瀏覽器標籤頁有旋轉等待圖示 :

  • Burp Suite 如下介面得到 Request Header :

利用 Request Header 獲取庫表列值

  • 將獲取到的 Request Header 複製並儲存到檔案,使用 sqlmap -r 命令進行初探 :

  • 獲取 庫 :

  • 獲取 表 :

  • 獲取 列 :

  • 獲取 值 :

Repeater 重放

將 Burp Suite 獲取到的包匯入 repeater 進行重放,並修改頭部引數在右側的 response 中檢視不同的訪問效果

下圖為 id=3 時的訪問效果 :

下圖為 id=5 時的訪問效果 :

Intruder 爆破

利用 Burp Suite 對 DVWA Brute Force Low 口令部分進行 Intruder 爆破,使用者名稱 :admin

  • 先停止 Burp Suite 代理,瀏覽器進入 Brute Force 頁面,輸入賬戶密碼,開啟 Burp Suite 代理,點選登入,傳送資料 :

  • 右鍵將抓取到的登入資料包匯入到 Intruder

  • Intruder 預設自動高亮所有可以進行爆破的變數值,但爆破過程中一般只保留不確定的部分 ,此處僅要求對口令進行爆破,可以將其它不需要的變數值 Clear 取消高亮

    下圖中僅保留 password 值( 不包含 password 本身 ),且僅使用 Sniper 攻擊型別

  • 在 Intruder - Payloads 中選擇進行爆破的字典 :(此處選擇 Simple List)

    Simple List 為自定義字典,可依次往裡增加內容 ;Runtime List 為使用字典檔案 ;

  • 增加字典內容完畢後,點選頁面右上角 Start attack 即可開啟爆破,並得到爆破結果

    一般的,伺服器對錯誤值返回的資料都是一樣的,資料長度也是一樣的,相對於正確的資訊返回的資料肯定不一樣,所以那個不一樣的長度值所對應的字典值可能就是正確的

    如上圖所示,字典值 password 返回的資料長度與其它值不同,點選 password 值,查詢 Response - Render 可以清晰的看到已成功進入介面,爆破成功 。

Comparer 對比

  • 右鍵選擇兩個字典值到 Comparer - Request 中 :
  • 選擇上圖中上下各一個包 ,選對了右下角的 Words 和 Bytes 會亮起,點選即可檢視對比 :

Decoder 自帶加解密

Spider 蜘蛛

Spider 只能爬取站點目錄結構,並不能爬取資料夾下具體的檔案

  • 開啟爬蟲 :
  • 開啟爬蟲後,選擇原先截獲到的資料包,開啟爬蟲,將會按照 URL 結構進行目錄結構的爬取 :
  • 展開左側對應的地址即可檢視爬取到的目錄樹結構 :(灰色代表無法爬取下面的檔案)
  • 還可針對已爬取到的目錄進行下一步爬取 :(右鍵 Spider this branch - Submit form)

實驗現象總結

通過 Burp Suite 獲取站點 Request Header 資訊儲存到檔案,然後使用 sqlmap -r 命令進行探測的方法可以對需要驗證 Request Header 的站點進行注入,從而獲取伺服器資料庫資訊 。

Burp Suite 代理攔截工具除了可以截獲 Request Header 資訊外,也可以複用 Request Header 進行 Repeater 重放,手工修改變數值嘗試攻破,也可以使用 Intruder 字典進行自動化爆破提高效率 。

通過以上操作步驟,已達到實驗目的 。

除本次實驗中使用到的操作步驟外,還有 Comparer 對比 、Decoder 加解密 和 Spider 蜘蛛 等常用操作,熟練使用它們將會在未來的學習當中遊刃有餘 。