Burp Extensions
BurpSuite 相關收集項目,插件主要是非BApp Store(商店)
插件的安裝
JAVA編寫的插件:
Python編寫的插件:
Python編寫的插件,需要使用Jython。Jython本質上是一個Java應用程序,Jython允許編碼人員使用Java編碼調用Python庫。也可以使用Python調用Java的庫。
Jython下載地址:
https://www.jython.org/download
下載好之后,添加到Burp。
導入Python編寫的插件,導入方法和Java相同。
ApiKit
插件地址:
https://github.com/API-Security/APIKit
插件介紹:
APIKit是基於BurpSuite提供的JavaAPI開發的插件。
APIKit可以主動/被動掃描發現應用泄露的API文檔,並將API文檔解析成BurpSuite中的數據包用於API安全測試。
目前APIKit v1.0支持的API技術的指紋有:
GraphQL
OpenAPI-Swagger
SpringbootActuator
SOAP-WSDL
安裝方法:
打開BurpSuite頁面,點擊Extender然后選擇Extensions,添加APIKit.jar。
然后APIKit會對進入到BurpSuite的流量進行被動掃描。解析完成后可以在APIKit面板查看結果,同樣Burpsuite的DashBoard也會有issue提示。
配置說明:
默認情況下Request和Cookie都不開啟
Auto Request Sending
選擇開啟Auto Request Sending后,可以對子API進行自動化鑒權測試,快速發現API未授權訪問漏洞。
Send with Cookie
開啟Cookie,可以把包的Cookie存下來,生成請求的時候保留Cookie。
使用方法:
被動掃描
默認情況下流經BurpSuite的流量都會進行API探測解析和掃描。
主動掃描
在任何一個Burpsuite可以右鍵打開更多選項的頁面中,都可以點擊右鍵,選擇Do API scan來發起一次主動掃描。
API漏洞自動掃描
所有與BurpSuite聯動的工具均可聯動APIKit。比如xray。(具體方法見github)
BurpShiroPassiveScan
插件地址:
https://github.com/pmiaowu/BurpShiroPassiveScan
插件介紹:
一款基於BurpSuite的被動式shiro檢測插件
該插件會對BurpSuite傳進來的每個不同的域名+端口的流量進行一次shiro檢測
目前的功能如下:
shiro框架指紋檢測
shiro加密key檢測
檢測方法:
檢測原理: > https://mp.weixin.qq.com/s/do88_4Td1CSeKLmFqhGCuQ
使用方法
正常的訪問網站,訪問訪問完畢以后, 插件就會自動去進行掃描,如果有結果那么插件就會在以下地方顯示
·Extender
·Scanner-Issue activity
tag界面查看漏洞情況
·waiting for test results = 掃描shiro key 中
·shiro key scan out of memory error = 掃描shiro key時,發生內存錯誤
·shiro key scan diff page too many errors = 掃描shiro key時,頁面之間的相似度比對失敗太多
·shiro key scan task timeout = 掃描shiro key時,任務執行超時
·shiro key scan unknown error = 掃描shiro key時,發生未知錯誤
·[-] not found shiro key = 沒有掃描出 shiro key
·[+] found shiro key: xxxxxx = 掃描出了 shiro key
ShiroScan
Github地址:
https://github.com/potats0/shiroPoc
插件介紹:
采⽤⽆需利⽤鏈的檢測⽅式(⽆論是否出⽹都可以檢測),被動掃描Shiro框架,並⾃動爆破key,⽀持⾃
定義鍵。【判斷 shiro 的 key ,之前采⽤的邏輯就是 YSO 的 URLDNS 針對 dnslog 進⾏處理或者直接使⽤CC進
⾏盲打或者⼯具⼀把梭(dnslog的⽅式)。這種會存在⼀些⼩問題,⽐如當這個 shiro 不出⽹ ,且 gadget 不是
CC的情況下,可能就會漏過⼀些漏洞。】(這里就不細講了,需要的師傅點上方的github地址自行下載即可)
FastJsonScan
Github地址
https://github.com/pmiaowu/BurpFastJsonScan
【掃描⽐較⼈性化,掃沒掃到都告訴你⼀聲。dnslog.cn進⾏出⽹檢查】
Github地址
https://github.com/bigsizeme/fastjson-check/releases
【在上⾯的基礎上改進,增加站點是否出⽹探測,⽀持⼀鍵⽣成回顯POC,但是多個利⽤鏈,沒法確定具體使⽤哪
個利⽤鏈】
1、增加burp內置BurpCollaborator【Burp內置dnslog】進⾏出⽹探測
2、針對不出⽹payload總結⽀持⼀鍵⽣成回顯payload(15種)
Github地址
https://github.com/zilong3033/fastjsonScan
【只有掃到了才告訴你,⽐如你想檢測⼀個站有沒有fastjson,你發送到插件掃描,掃了半天,不知道是沒洞還是
沒掃完】
- 在原來的被動掃描上⽀持主動掃描,由於主動掃描發送數據包較多,故會多次掃描。
- 在原來的rmi協議上⽀持ldap協議。
- ⽀持fastjson<=1.2.24和1.2.33<=fatjson<=1.2.47回顯和不出⽹檢測⽅案 ,檢測后,發送到Repeater
中,便可以利⽤。 - ⽀持fastjson<=1.2.24和1.2.33<=fatjson<=1.2.47的延時檢測。
- ⽀持fastjson<=1.2.68 的DNSlog檢測
Github地址
https://github.com/pmiaowu/BurpFastJsonScan
簡介
該插件會對BurpSuite傳進來的帶有json數據的請求包進行檢測
目前的功能如下
·命令回顯
·遠程命令執行
默認使用jdk1.8編譯
在最新版的burp2.x中jdk為1x,會導致插件不可用,請自行下載源碼使用當前電腦的jdk1x進行編譯
檢測規則
·POST 的內容為json
·GET 的參數內容為json
·POST 的參數內容為json
·Cookie 的參數內容為json
例子:
GET, POST, Cookie 有個參數 json
json = {"aaa":"66666"}
那么就會去檢測
json的這種就是請求包的內容直接就是json不帶參數的那種, 也會去檢測
使用方法
我們正常去訪問網站, 如果站點的某個請求出現了 json 那么該插件就會去嘗試檢測
訪問完畢以后, 插件就會自動去進行掃描
如果有結果那么插件就會在以下地方顯示
·Tag
·Extender
·Scanner-Issue activity
tag界面查看漏洞情況
分別會返回
- request no json = 請求沒有json
- request json no eligible = 請求json不符合條件
- the number of website problems has exceeded = exceeded 超出網站問題的數量
- the number of website scans exceeded = 超出網站可掃描次數
- waiting for test results = 等待測試結果
- [+] found fastJson command execution = 查找到fastJson命令執行
- [-] not found fastJson command execution = 沒有查找到fastJson命令執行
當發生 unknown error 的時候,可以嘗試在下方中查看錯誤詳情
chunked coding converter
Github地址:
https://github.com/c0ny1/chunked-coding-converter
分塊傳輸簡單介紹:
分塊傳輸編碼(Chunked transfer encoding)是HTTP中的⼀種數據傳輸機制,在HTTP/1.1前,數據的發送是
由 Content-Length 去決定的,它規定了⼀個包的⻓度,服務器也是按照這個去進⾏處理的。在HTTP/1.1中,服
務器發送給客戶端的數據可以分成多個部分,使⽤分塊傳輸的時候,數據會被分解出⼀個個⼩塊,這樣服務器就不
需要預先知道總數據的⼤概⻓度,接收到⼀個個塊進⾏處理就⾏了。簡⽽⾔之,就是把數據包分成⼀塊⼀塊的發
送,從⽽對WAF進⾏繞過。
在使⽤分塊傳輸時,響應頭⾥需要添加 Transfer-Encoding: Chunked ,去表明是要進⾏分塊傳輸內容的。
本插件主要用於分塊傳輸繞WAF,不了解分塊傳輸繞WAF可以參考下列文章
·利用分塊傳輸吊打所有WAF
·在HTTP協議層面繞過WAF
·編寫Burp分塊傳輸插件繞WAF
·Java反序列化數據繞WAF之延時分塊傳輸
插件使用
可以和Sqlmap聯動,設置用於Proxy模塊之后,Sqlmap指定代理:
sqlmap.py -r post.txt --proxy=http://127.0.0.1:8080 --os-shell
HackBar
Github地址:
https://github.com/d3vilbug/HackBar
將滲透測試過程中用到的瀏覽器插件集成到了Burp上。
U2C(Unicode To Chinese)
Github地址:
https://github.com/bit4woo/U2C
Unicode 轉中⽂ 的burp suite插件:
Unexpected information
Github地址:
https://github.com/ScriptKid-Beta/Unexpected_information
用來標記請求包中的一些敏感信息、JS接口和一些特殊字段,防止我們疏忽了一些數據包,它被命名為“Unexpected information”,使用它可能會有意外的收獲信息。
支持列表
·身份證信息
·手機號信息
·IP信息
·郵箱信息
·JS文件API接口路徑
·JS文件URL
·特殊字段(password、method: "post"...#57)
·JSON Web Token
·Shiro(rememberMe=delete)
·雙向檢測
·高亮顯示
高亮模式
·郵箱 -> 黃色
·內網IP -> 紅色
·手機號碼 -> 綠色
·身份證號碼 -> 綠色
·其他 -> 灰色(v2.3.1+)
當如數據包中存在有相關的對應信息(如手機號碼、IP地址、郵箱、身份證號碼等)存在時HTTP history標簽頁中的對應請求中自動標記顏色高亮,並且開啟一個新的標簽頁名為”Unexpected information”顯示匹配到的信息。
使用方法及效果
BurpSuite >> Extender >> Extensions >> Add >> Extension type: Java >> Select file ...>> 選擇對應的插件(Unexpected information.jar)
注意:避免使用中文目錄
可以篩選出匹配到的敏感信息:
HaE
Github地址:
https://github.com/gh0stkey/HaE
相關規則
https://gh0st.cn/HaE/
插件介紹:
HaE是基於 BurpSuite 插件 JavaAPI 開發的請求高亮標記與信息提取的輔助型插件。
該插件可以通過自定義正則的方式匹配響應報文或請求報文,可以自行決定符合該自定義正則匹配的相應請求是否需要高亮標記、信息提取。
使用方法:
插件裝載: Extender——Extensions——Add——Select File——Next
初次裝載HaE會初始化配置文件,默認配置文件內置一個正則: Email,初始化的配置文件會放在與BurpSuite Jar包同級目錄下。
除了初始化的配置文件外,還有Setting.yml,該文件用於存儲配置文件路徑;HaE支持自定義配置文件路徑,你可以通過點擊Select File按鈕進行選擇自定義配置文件。
插件優點:
1、多選項自定義控制適配需求
2、多顏色高亮分類,將BurpSuite的所有高亮顏色集成: red, orange, yellow, green, cyan, blue, pink, magenta, gray
3、顏色升級算法: 利用下標的方式進行優先級排序,當滿足2個同顏色條件則以優先級順序上升顏色(例如: 兩個正則,顏色為橘黃色,該請求兩個正則都匹配到了,那么將升級為紅色)
4、配置文件采用YAML格式存儲,更加便於閱讀和修改
5、內置簡單緩存,在“多正則、大數據”的場景下減少卡頓現象
6、支持標簽分頁,點擊...即可添加新的標簽頁,對着標簽頁右鍵即可刪除
7、高亮信息添加的同時添加Comment,便於查找請求
Burp也支持僅顯示高亮敏感秘文:
FakeIP
Github地址:
https://github.com/TheKingOfDuck/burpFakeIP
https://github.com/c0ny1/HTTPHeadModifer
插件介紹:
四個功能
偽造指定IP
偽造本地IP
偽造隨機IP
偽造隨機ip爆破的先決條件可以偽造ip繞過服務器限制
偽造指定IP:
在Repeater模塊右鍵選擇fakeIp菜單,然后點擊inputIP功能,然后輸入指定的ip:
程序會自動添加所有可偽造得字段到請求頭中
偽造本地IP
在Repeater模塊右鍵選擇fakeIp菜單,然后點擊127.0.0.1功能:
偽造隨機IP
在Repeater模塊右鍵選擇fakeIp菜單,然后點擊randomIP功能:
隨機IP爆破:
偽造隨機ip爆破是本插件最核心的功能。
將數據包發送到Intruder模塊,在Positions中切換Attack type為Pitchfork模式,選擇好有效的偽造字段,以及需要爆破的字段:
按照箭頭順序將Payload來源設置為Extensin-generated,並設置負載偽fakeIpPayloads,然后設置第二個變量
點擊Start attack開始爆破
如上圖,實現每次爆破都使用不同的偽ip進行,避免被ban
403Bypass
Github地址:
https://github.com/sting8k/BurpSuite_403Bypasser
這個插件主要功能是⽤來bypass403⻚⾯的,舉個例⼦,⽐如我們有時候看到很多⽹站限制外部訪問,訪問的話直接顯示403,我們可能改⼀個IP頭為本地127.0.0.1我們就能繞過這個限制,這個插件可以全⾃動的來幫我們驗證。
Jslinkfinder
Github地址:
https://github.com/InitRoot/BurpJSLinkFinde
Burp 擴展,⽤於被動掃描端點鏈接的 JS ⽂件。
·將結果導出到⽂本⽂件
·排除特定的“js”⽂件,例如 jquery、google-analytics
被動掃描,增加擴展后不⽤管(⼀些滲透測試中,往往需要翻看⽹站的JS⽂件,去找找有沒有什么接⼝之類的,⽽看JS⽐較費勁,這款插件就替我們簡化了這⼀步驟,直接去看鏈接就好了)
JsEncrypter
Github地址:
https://github.com/c0ny1/jsEncrypter
本插件使用phantomjs啟動前端加密函數對數據進行加密,方便對加密數據輸入點進行fuzz,比如可以使用於前端加密傳輸爆破等場景。
磨刀不誤砍柴功,讀完碩士在打工