[Burp Suite 完整教學] 看似平凡卻最常被使用 – Repeater 手動挖掘與驗證漏洞

假期過完面對現實,各種被案子轟炸QQ
不過再努力撐著幾天,馬上又有個小確幸連假了。

今天來介紹 Repeater 這個功能,
Repeater如同字面上意思就是重複發送功能,
看起來與用起來其實都是很簡單,
這個功能本身並不像Scanner這樣自帶具有安全檢測能力,
也不像Spider有機器人或是Intruder那樣的強大複雜,
但實務上,Repeater卻是相當好用實用的功能,
以我自己來說,Repeater是我在滲透測試時使用最頻繁的功能,
我相信也不僅僅是我,一定不少資安人員都很常使用與熟悉。

也正因為它不像Scanner那樣是一個自動掃描功能,
所以需要的是測試人員的專業知識與能力,
藉由自身的知識與經驗,修改Request中的內容與參數,
透過Repeater重新發送,一步一步地去觀察網站的Response,
這個也就是我們所謂的手動挖掘與驗證漏洞。

這個功能本身並不強大,強的地方在於它用起來很順手XD,
不管是要新增還是刪減內容與參數,或是查看之前的發送請求,
或是安裝一些額外的擴充功能,許多操作都很便利。
使用Repeater這項功能,需要對於HTTP協定有基礎的認識,
所以對於新手來說也算是可以幫助了解HTTP協定。

要使用這項功能,開頭其實與其它的功能本質上操作方法都一樣,
當我們利用Proxy攔截到了我們要測試的請求,
或是我們在SiteMap的地方發現一個我們有興趣要測試的請求,
都可以直接針對Request點選右鍵,選擇Send to Repeater。

然後到我們的Repeater功能下,就可以看到剛剛選擇的請求被轉送過來了,
這時候,一般來說都會先建議你先按下一下GO,先送出一次原始的請求,
因為當你把剛剛的請求Send to Repeater的時候,
轉送過來的只有原始請求,並不會包含原始回應(Response)。
當然是否真的有需要先按GO取得一個原始回應,還是視情況而定。

當我們按下GO之後可以看到右邊有出現了原始的回應,
接著我們可以開始修改我們請求的內容,
當然就是根據自己的知識與經驗去修改,
這邊假設我們隨便修改一下參數值好了,
修改好再按一下GO發送請求,這次我們得到了新的請求的新的回應,
我們也可以發現GO的右邊的地方按鈕「<」亮了起來,
我們可以利用箭頭<>這兩個按鍵來快速的去切換我們不同次的請求內容,
藉由這樣的方式就可以很方便我們手動的不停修改測試與觀察回應,
逐步的觀察網站的回應內容,了解網站的運作原理並且看是否有漏洞存在可能。

還有一個可能不少人會遺忘的地方就是,
注意上方的Repeater其實有些選項可以設定,
譬如選單可以選擇是否自動更新Content-Length,是否要自動Unpack,
基本上這兩個選項通常都是預設會勾選的,
也是因為Burp貼心的默默幫你做了這些事情,所以常常遺忘他們,
實際上在測試某些特定類型漏洞時,也是會有需要取消勾選這兩個功能。
還有像是選擇是否跟隨重定向(轉址),轉址的時候是否要帶著cookies,
這個也是依據不同情況與嗜好可以調整。

今天介紹就到這邊,
之後有機會會介紹一些新手在Repeater當中常常卡關的小問題。

本系列的文章為作者參與第 12 屆 iT 邦幫忙鐵人賽的文章修改
原文連結
 https://ithelp.ithome.com.tw/users/20114110/ironman/3806

This Post Has 3 Comments

  1. Tiz

    您好
    我在使用burp的過程中,有觀察proxy的封包,關於repeater在使用go(或是send)取得request的時候,好像並沒有我使用repeater修改過的封包,我想請問您,是否真的是把封包傳送給server了呢?
    或者是burp只是模擬request呢

    1. hackercat

      repeater送出的request, 確實是送給server唷
      可以嘗試修改request內容(例如修改路徑, Host Header, Cookie, Body內容),
      再送出看看回應的response
      多次確認看看, 應該就會更能理解了

發佈留言