前言:最近在做CTF題的時候奠货,很多write-up都用到了burpsuite來進行fuzz測試介褥,于是乎,作為一個小白递惋,當然得學習怎么安裝柔滔,怎么使用了。
Burpsuite安裝
-
首先安裝java環(huán)境萍虽,我們可以:
-
oracle官網下載java8的程序睛廊,然后配置環(huán)境變量,創(chuàng)建軟連接杉编。
export JAVA_HOME=/opt/jdk1.8.0_112 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH={JAVA_HOME}/bin:$PATH ln -s /opt/jdk1.8.0_112/bin/java /usr/bin/java
-
或者 apt安裝openjdk與openjre超全,但是一定注意安裝java8咆霜,而不是10,因為burpsuite不支持10
apt install openjdk-8-jdk-headless apt install openjdk-8-jre-headless
-
-
然后下載burpsuite
wget http://labfile.oss.aliyuncs.com/courses/726/burpsuite_free.jar
-
然后就可以啟動了
java -Xmx2g -jar burpsuite_free.jar
-
然后卵迂,為了方便以后使用裕便,我們要建立一個desktop entry文件,方便以后的啟動
sudo vim /home/user/.local/share/application/Burpsuite.desktop Content ################################################################### #!/usr/bin/ [Desktop Entry] Name=Burpsuite Comment=Burpsuite Encoding=UTF-8 Exec=java -jar /home/user/burpsuite.jar Icon=burpsuite #這里是圖標见咒,而這個名字是默認圖標路徑下的圖標偿衰,網上可以下載到,路徑是./local/icons Terminal=false Type=Application Categories=Application;Development; ###################################################################
如果你想了解更多關于linux desktop entry的內容改览,你可以點這里
如果你還想知道下翎,如何以root身份打開一個窗口文件,你可以搜索有關
gksu
的內容宝当。 然后以后就可以通過圖標進入了视事。
Burpsuite 使用
簡介與使用來自于FreeBuf中vulture大佬的一片文章,原文地址
Burp Suite想必大家都用過庆揩,但是大家未必知道它的所有功能俐东。因此,本文的主要目的就是盡量深入介紹各種功能订晌。BurpSuite有以下這些功能:
截獲代理– 讓你審查修改瀏覽器和目標應用間的流量虏辫。
爬蟲 – 抓取內容和功能
Web應用掃描器* –自動化檢測多種類型的漏洞
Intruder – 提供強大的定制化攻擊發(fā)掘漏洞
Repeater – 篡改并且重發(fā)請求
Sequencer –測試token的隨機性
能夠保存工作進度,以后再恢復
插件*– 你可以自己寫插件或者使用寫好的插件锈拨,插件可以執(zhí)行復雜的砌庄,高度定制化的任務
*表示需要Burp Suite Pro授權。
Intercepting Proxy(截取代理)
Intercepting proxy是針對web應用滲透測試工具的功能奕枢。Burp Suite的代理工具非 常容易使用娄昆,并且能和其他工具緊密配合。要使用這個功能缝彬,第一步就是建立代理監(jiān)聽(Proxy–> Options功能下)萌焰。我的設置為了默認值localhost (127.0.0.1),端口為8080谷浅。
你可以點擊編輯(“Edit”)進行修改杆怕,或者添加新的監(jiān)聽端口。一旦建立好壳贪,你就要到瀏覽器的網絡連接設置處手動配置代理設置:
我們現在可以訪問我們要測試的應用,然后看到發(fā)送的所有請求了寝杖。到Proxy –> Intercept標簽頁违施,然后確保截獲功能開啟(“Intercept is on”),然后就能看到所有的請求了瑟幕。
你可以修改請求磕蒲,然后點擊“Forward”發(fā)送修改后的請求留潦,如果不想發(fā)送某些請求你也可以點擊“Drop”按鈕±蓖“Actions”按鈕下還有很多其他的功能兔院。
如果你想回過頭看下前面發(fā)送的請求,你可以切換到Proxy –> HTTP History標簽頁站削,這里有所有的請求列表坊萝,還有些詳情如響應的長度,MIME類型和狀態(tài)碼许起。如果你修改過請求十偶,你會看到兩個標簽,分別是修改前和修改后的請求:
另一個有用的功能是自動修改請求/響應园细,功能位于Proxy –> Options惦积。通過這個功能可以去除JavaScript的表單驗證。你也可以用正則表達式匹配替換請求/響應:
這里有一個問題:原文章沒有指出:就是如果按照這里的操作猛频,我們會發(fā)現狮崩,我們的瀏覽器無法顯示網頁,所以這里給出解決方案鹿寻。
Spider(爬蟲)
當你在對web應用進行初步檢查的時候睦柴,Burp Suite的spider工具非常有用。當你瀏覽Web應用時烈和,它會從HTML響應內容中主動生成一份URL列表爱只,然后嘗試連接URL。要使用爬蟲功能招刹,我們首先要切換到Target–> Site Map標簽恬试,然后右鍵域名,選擇“Add To Scope”:
所有加入的域名都在Target –> Scope標簽頁里疯暑。你可以手動添加域名训柴,修改,或者添加需要配出的URL(比如如果你不希望對“聯系我們”的表單進行自動化測試妇拯,就可以把它排除掉):
如果我們現在進入Spider –> Control標簽幻馁,就能看到有些URL正在排隊中,注意看下面越锈,爬蟲只會對scope中的域名進行測試:
回到Site Map我們可以看到URL的列表仗嗦,黑色代表我們已經成功訪問過那個頁面,爬蟲確認過是有效的甘凭∠」眨灰色代表爬蟲在HTML響應中找到了這個URL但是還沒有確認是否有效:
基本的設置后,我們返回到Spider –> Control標簽丹弱,點擊“Spider Is Paused”按鈕運行工具德撬,它會嘗試連接所有之前找到的URL铲咨,包括在運行過程中找到的新的。如果過程中有表單需要填寫蜓洪,它會彈出表單供你填寫纤勒,確保能收到有效的響應:
現在Site Map中就有整理整齊的URL了:
Spider –> Options標簽下有些你可以調整的選項,如user-agent 隆檀,或者爬蟲應該爬多深摇天,兩個重要的設置是表單提交和應用登錄,設置好之后爬蟲可以自動為你填寫表單:
Intruder
Intruder是Burp Suite中最受歡迎的工具刚操。Intruder是獲取Web應用信息的工具闸翅。它可以用來爆破,枚舉菊霜,漏洞測試等任何你想要用的測試手段坚冀,然后從結果中獲取數據。
我舉個例子來演示Intruder的使用方法鉴逞。即爆破登錄頁面的管理員密碼(假設沒有帳號鎖定)记某。首先,我們切換到Proxy-> HTTP History构捡,右鍵要測試的請求液南,點擊“Send To Intruder”:
接下來我們切換到Intruder標簽,準備攻擊勾徽。程序會在Target標簽里自動填上請求中的host和端口滑凉。在Position(位置)標簽出哦我們可以看到我們選擇的請求并設置我們要攻擊的位置。用鼠標高亮想要攻擊的位置喘帚, 然后點擊右邊的“Add”畅姊,如果需要的話可以選擇多個位置:
最上面的地方有多種攻擊類型,本例中我們使用默認的Sniper吹由,但實際上每種攻擊類型都有特定用途:
Sniper – 這個模式使用單一的payload組若未。它會針對每個位置設置payload。這種攻擊類型適合對常見漏洞中的請求參數單獨地進行fuzzing測試倾鲫。攻擊中的請求總數應該是position數量和payload數量的乘積粗合。
Battering ram – 這一模式使用單一的payload組。它會重復payload并且一次把所有相同的payload放入指定的位置中乌昔。這種攻擊適合那種需要在請求中把相同的輸入放到多個位置的情況隙疚。請求的總數是payload組中payload的總數。
Pitchfork – 這一模式使用多個payload組磕道。對于定義的位置可以使用不同的payload組甚淡。攻擊會同步迭代所有的payload組,把payload放入每個定義的位置中。這種攻擊類型非常適合那種不同位置中需要插入不同但相關的輸入的情況贯卦。請求的數量應該是最小的payload組中的payload數量。
Cluster bomb – 這種模式會使用多個payload組焙贷。每個定義的位置中有不同的payload組撵割。攻擊會迭代每個payload組,每種payload組合都會被測試一遍辙芍。這種攻擊適用于那種位置中需要不同且不相關或者未知的輸入的攻擊啡彬。攻擊請求的總數是各payload組中payload數量的乘積。
位置設定好之后我們切換到Payloads標簽故硅,選擇攻擊時使用的數據庶灿。頂部的地方你可以看到payload組。各個組都對應設置的各個位置吃衅。我們可以選擇payload類型往踢,如簡易列表(Simple List)。
在那下面有一些payload選項徘层。每個payload類型都有不同的選項峻呕,供用戶為你的測試進行修改。我經常使用的是數字(Numbers)趣效,你可以設置范圍瘦癌,選擇是連續(xù)的數字還是隨機數字,還有每次攻擊時的步長等跷敬。不過對于我們要搞的爆破攻擊讯私,我們只需要添加一個密碼字典就行:
接下來就是點擊右上角的開始攻擊(Start Attack)按鈕。程序就會彈出一個新的窗口西傀,顯示的是嘗試的每個payload和響應的詳情斤寇。我們的例子中,第六個請求獲取到了正確的密碼:
我們返回主窗口,然后切換到Intruder –> Options標簽頁,可以發(fā)現還有些別配置性昭。其中一個很重要的是“Grep– Match”功能倒淫,這個功能可以讓你基于HTML中的字符串或者正則表達式標記出結果。這些標記會在新增的欄里出現薪前。