BurpSuite測試中一些常用tips
滲透測試用到Burp時候很多,整理了一些tips供測試時候更得心應手~
光標錯位和中文顯示
新版一打開容易光標錯位,默認情況下使用字體是Courier New,顯示不了中文。
換用Monospaced字體即可正常顯示中文,一般這里就不會錯位了,錯位的話可以大小弄大一些:

如果是win下,Burp字體容易模糊,特別是exe版本,如果模糊,可以設置縮放125%就好了。
可以修改配置文件:BurpSuitePro.vmoptions
-Dsun.java2d.dpiaware=true -Dsun.java2d.uiScale=1.25
自動滾動以匹配請求/響應選項卡
測試時候需要關注當前包和下一次包有啥區別,以及需要搜索一些關注的詞,可以設置自動去匹配關注的詞:

關注的詞將突出顯示。
Burp 流量處理
測試的時候應該關注測試的目標,減少無用的流量。
瀏覽器自帶請求禁用
比如在用firefox時候,會攔截到一些瀏覽器自己的請求:


有一個高級設置可以禁用此功能,但 UI 中沒有任何內容。在地址欄中輸入:about:config
搜索 network.captive-portal-service.enabled 并單擊它以切換為false,它將停止發送此請求

如何阻止firefox這些沒用的請求,按這篇設置以后會少一些firefox的請求:
https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections
但是還是會有一些域名的請求,轉到about:config,再次搜索self-repair.mozilla.org
直接把此首選項的值刪掉即可。

這樣firefox就沒有發出那些沒用的請求了。
通過Burp TLS Pass Through
除了瀏覽器,還有一些插件的流量很煩人,可以用這個功能告訴burp不要攔截這些流量。
先收集有哪些需要過濾的地址:
掛著代理,等20分鐘,burp中查看:

收集完了以后開始復制這些地址,先轉到target->scope,開啟Use advanced scope control
然后轉到到Target > Site map復制這些url,單擊Filter并單擊Show all 按鈕

Add to Scope,切回去就能看到這些url,再從scope里拿出來,你就有一批需要過濾的地址了:

然后將這些將這些url添加到 Burp TLS Pass Through,但是TLS Pass Through可以選擇粘貼 URL 或從文件加載列表。不支持剛才復制出來的格式。該文件每行應該有一個正常的 URL(不是正則表達式)。
直接復制剛才的格式會報錯:

按正常格式添加:
也可以直接在burp的項目配置文件中添加:

scope過濾HTTP 不必要請求
上面的功能過濾了一些不必要的https請求,但HTTP 請求仍然會被代理,常見的方法可以在瀏覽器代理插件中進行過濾:

還可以善用Burp的scope功能:
可以創建 URL 匹配規則以包含或排除可能與測試范圍無關的特定 URL。

正則對url進行匹配:

也可以對已經有的請求加入scope中,右鍵單擊請求并選擇Add to scope。然后您可以導航到Target > Scope并查看添加到范圍的請求。

scope比較方便是支持正則,比如整個站 *.google.com 或某個目錄 google.com/images/

設置了scope后可以在HTTP History中進行過濾,選擇"Show only in-scope items"

history也可以設置一些過濾選項大家都很熟悉,Filter by MIME type設置MIME類型,Other binary需要查看大多數二進制數據(application/octet-stream),Filter by file extension可以設置后綴的過濾,這里說一下Filter by file extension最好使用它的hide功能即可,過濾掉常見靜態后綴和字體后綴即可。Filter by listener用的少一些,當應用程序在不同的端口上進行通信并且不支持代理設置時特別有用。
隱藏特定方法的請求(OPTIONS)
測試的時候會發送很多特定方法的包,比如查看history中存在很多測試的OPTIONS包:

這里可以用到一個拓展:
https://github.com/pajswigger/filter-options
它增加Content-Type: application/octet-stream了每個OPTIONS請求的響應。然后 HTTP History 將該請求分類為Other Binary,我們可以按此進行過濾。
還可以參考這篇,將OPTIONS請求加上MIME類型為JSON以達到來過濾的目的:
https://captmeelo.com/pentest/2020/01/06/filter-options-method.html
https://github.com/capt-meelo/filter-options-method
對請求包進行非緩存的響應:
可以通過在 Burp 的代理選項中啟用強制所有響應非緩存,這樣就可以看到操作后最新的版本:

設置不發送隱私
默認 PortSwigger會收集數據:

可以關閉這個匿名反饋傳輸
禁用 Burp Collaborator
Burp Collaborator可以用來接受帶外,但是每次一打開burp就彈出來 Burp Collaborator很煩,設置中可以關閉:

sitemap 顯示切換
默認sitemap顯示是這樣

個人畢竟喜歡標簽切換的形式,簡潔一些:
在Sitemap中任意位置并選擇View -> Tabs來將Target選項卡切換到此視圖


其他模塊切換成tabs是一樣的。
再提一點,展開折疊功能也很好用:

Burp 掃描選項
大家都知道Burp 有兩種掃描模式:主動和被動。兩者可以同時激活。
被動掃描中,它只查看請求/響應,并且基本上根據其規則集進行 grep,而不發送任何請求。主動掃描中,它實際上會生成有效負載并將它們發送到服務器(并分析請求/響應)。
需要注意的就是不要一開始就使用主動掃描,很容易測試時候直接被waf給ban了,還沒測就結束了,老版本有scanner的選項卡可以配置,新版可以在dashboard配置:

推薦不改變Live Passive Scanning為Scan everything,也可以將其設置為Use custom scope
repeater中切換歷史
發包時候老是要看歷史包,除了ctrl+z還可以直接切回去:

repeater中自動跟蹤重定向
測試時候還可以設置Repeater 將自動跟蹤重定向響應。

在瀏覽器中重復請求
如果測試特定請求在由用戶代理呈現時的行為方式,比如xss,Burp可以重復請求并在瀏覽器中查看它。右鍵單擊消息輸出的請求后選擇"在瀏覽器中請求"。


瀏覽器打開即可。
請求格式轉換
常用就是get post 上傳這些直接轉換:

還有常用的就是轉成XML/JSON,在 BApp Store 中很容易找到的ctc插件:

很方便轉成XML和JSON:

選項卡命名和切換
發了很多包,找到特定發包選項卡一個個翻很慢,最好命名:


還有的就是模塊選項卡的切換,有時候插件很多了,找repeater和proxy眼睛看不過來,可以直接windows選項卡切換:
