Getting Started
Burp Suite 是用於攻擊web 應用程序的集成平臺。它包含了許多工具,併爲這些工具設計了許多接口,以促進加快攻擊應用程序的過程。全部的工具都共享一個能處理並顯示HTTP 消息,持久性,認證,代理,日誌,警報的一個強大的可擴展的框架。本文主要介紹它的如下特色:php
1.Target(目標)——顯示目標目錄結構的的一個功能 2.Proxy(代理)——攔截HTTP/S的代理服務器,做爲一個在瀏覽器和目標應用程序之間的中間人,容許你攔截,查看,修改在兩個方向上的原始數據流。 3.Spider(蜘蛛)——應用智能感應的網絡爬蟲,它能完整的枚舉應用程序的內容和功能。 4.Scanner(掃描器)——高級工具,執行後,它能自動地發現web 應用程序的安全漏洞。 5.Intruder(入侵)——一個定製的高度可配置的工具,對web應用程序進行自動化攻擊,如:枚舉標識符,收集有用的數據,以及使用fuzzing 技術探測常規漏洞。 6.Repeater(中繼器)——一個靠手動操做來觸發單獨的HTTP 請求,並分析應用程序響應的工具。 7.Sequencer(會話)——用來分析那些不可預知的應用程序會話令牌和重要數據項的隨機性的工具。 8.Decoder(解碼器)——進行手動執行或對應用程序數據者智能解碼編碼的工具。 9.Comparer(對比)——一般是經過一些相關的請求和響應獲得兩項數據的一個可視化的「差別」。 10.Extender(擴展)——可讓你加載Burp Suite的擴展,使用你本身的或第三方代碼來擴展Burp Suit的功能。 11.Options(設置)——對Burp Suite的一些設置
測試工做流程
Burp支持手動的Web應用程序測試的活動。它可讓你有效地結合手動和自動化技術,使您能夠徹底控制全部的BurpSuite執行的行動,並提供有關您所測試的應用程序的詳細信息和分析。 讓咱們一塊兒來看看Burp Suite的測試流程過程吧。 以下圖html
簡要分析
代理工具能夠說是Burp Suite測試流程的一個心臟,它可讓你經過瀏覽器來瀏覽應用程序來捕獲全部相關信息,並讓您輕鬆地開始進一步行動,在一個典型的測試中,偵察和分析階段包括如下任務:java
手動映射應用程序-使用瀏覽器經過BurpSuite代理工做,手動映射應用程序經過如下連接,提交表單,並經過多步驟的過程增強。這個過程將填充代理的歷史和目標站點地圖與全部請求的內容,經過被動蜘蛛將添加到站點地圖,能夠從應用程序的響應來推斷任何進一步的內容(經過連接、表單等)。也能夠請求任何未經請求的站點(在站點地圖中以灰色顯示的),並使用瀏覽器請求這些。python
在必要是執行自動映射-您能夠使用BurpSuite自動映射過程當中的各類方法。能夠進行自動蜘蛛爬行,要求在站點地圖未經請求的站點。請務必在使用這個工具以前,檢查全部的蜘蛛爬行設置。git
使用內容查找功能發現,可讓您瀏覽或蜘蛛爬行可見的內容連接以進一步的操做。github
使用BurpSuite Intruder(入侵者)經過共同文件和目錄列表執行自定義的發現,循環,並肯定命中。web
注意,在執行任何自動操做以前,可能有必要更新的BurpSuite的配置的各個方面,諸如目標的範圍和會話處理。正則表達式
分析應用程序的攻擊面 - 映射應用程序的過程當中填入代理服務器的歷史和目標站點地圖與全部的BurpSuite已抓獲有關應用程序的信息。這兩個庫中包含的功能來幫助您分析它們所包含的信息,並評估受攻擊面的應用程序公開。此外,您能夠使用BurpSuite的目標分析器報告的攻擊面的程度和不一樣類型的應用程序使用的URL 。算法
接下來主要介紹下BurpSuite的各個功能吧。先介紹Proxy功能,由於Proxy起到一個心臟功能,全部的應用都基於Proxy的代理功能。sql
Burp Suite功能按鈕鍵翻譯對照
導航欄 |
|||
Burp | BurpSuite | save state wizard | 保存狀態嚮導 |
restore state | 恢復狀態 | Remember setting | 記住設置 |
restore defaults | 恢復默認 | Intruder | 入侵者 |
Start attack | 開始攻擊(爆破) | Actively scan defined insertion points | 定義主動掃描插入點 |
Repeater | 中繼器 | New tab behavior | 新標籤的行爲 |
Automatic payload positions | 自動負載位置 | config predefined payload lists | 配置預約義的有效載荷清單 |
Update content-length | 更新內容長度 | unpack gzip/deflate | 解壓gzip/放棄 |
Follow redirections | 跟隨重定向 | process cookies in redirections | 在重定向過程當中的cookies |
View | 視圖 | Action | 行爲 |
功能項 |
|||
Target | 目標 | Proxy | 代理 |
Spider | 蜘蛛 | Scanner | 掃描 |
Intruder | 入侵者 | Repeater | 中繼器 |
Sequencer | 定序器 | Decoder | 解碼器 |
Comparer | 比較器 | Extender | 擴展 |
Options | 設置 | Detach | 分離 |
Filter | 過濾器 | SiteMap | 網站地圖 |
Scope | 範圍 | Filter by request type | 經過請求過濾 |
Intercept | 攔截 | response Modification | 響應修改 |
match and replace | 匹配和替換 | ssl pass through | SSL經過 |
Miscellaneous | 雜項 | spider status | 蜘蛛狀態 |
crawler settings | 履帶式設置 | passive spidering | 被動蜘蛛 |
form submission | 表單提交 | application login | 應用程序登陸 |
spider engine | 蜘蛛引擎 | scan queue | 掃描隊列 |
live scanning | 現場掃描 | live active scanning | 現場主動掃描 |
live passive scanning | 現場被動掃描 | attack insertion points | 攻擊插入點 |
active scanning optimization | 主動掃描優化 | active scanning areas | 主動掃描區域 |
passive scanning areas | 被動掃描區域 | Payload | 有效載荷 |
payload processing | 有效載荷處理 | select live capture request | 選擇現場捕獲請求 |
token location within response | 內響應令牌的位置 | live capture options | 實時捕捉選項 |
Manual load | 手動加載 | Analyze now | 如今分析 |
Platform authentication | 平臺認證 | Upstream proxy servers | 上游代理服務器 |
Grep Extrack | 提取 |
Proxy功能
Burp Proxy至關於BurpSuite的心臟,經過攔截,查看和修改全部的請求和響應您的瀏覽器與目標Web服務器之間傳遞。 下面瞭解有關BurpProxy:
Using BurpProxy http、https
http
設置代理的方法:以http ie爲例:
工具>>Internet選項>>鏈接>>局域網>>勾選代理服務器填寫地址127.0.0.1端口8080
這裏端口能夠隨便定義可是要跟burp的監聽端口要一致而後保存再到Proxy的Options中添加add
這樣http協議的監聽就能夠了,當intercept is on表示開啓攔截功能,反之
這樣就表明攔截成功,咱們能夠右擊send to Repeater去修改數據再發送,也能夠右擊改變提交請求方式(change request method)好比get或者post等功能
https
1.以管理員權限運行ie瀏覽器 2.像http那樣配置好代理 3.在地址欄訪問https地址,單擊繼續 4.點擊錯誤證書在這個地址欄 5.點擊查看證書 6.在證書路徑選項卡點擊PortSwigger CA,而後再點擊查看證書 7.在常規選項卡里點擊安裝證書 8.在證書導入嚮導中,選擇「將全部的證書放入下列存儲區」 9.點擊瀏覽 10.以當前用戶或者本機計算機均可以 11.點擊ok完成導入 12.重啓ie(不須要以管理員權限運行) 其它瀏覽器差很少具體請查看官網
http://portswigger.net/burp/Help/proxy_options_installingCAcert.html
Intercept
用於顯示和修改HTTP請求和響應,經過你的瀏覽器和Web服務器之間。在BurpProxy的選項中,您能夠配置攔截規則來肯定請求是什麼和響應被攔截(例如,範圍內的項目,與特定文件擴展名,項目要求與參數,等)。 該面板還包含如下控制:
Forward
當你編輯信息以後,發送信息到服務器或瀏覽器
Drop
當你不想要發送此次信息能夠點擊drop放棄這個攔截信息
Interception is on/off
這個按鈕用來切換和關閉全部攔截。若是按鈕顯示Interception is On,表示請求和響應將被攔截或自動轉發根據配置的攔截規則配置代理選項。若是按鈕顯示Interception is off則顯示攔截以後的全部信息將自動轉發。
Action
說明一個菜單可用的動做行爲操做能夠有哪些操做功能。
Comment field
爲請求或響應添加註釋,以便更容易在History選項卡中識別它們。
Highlight
爲請求或響應添加顏色,能夠在history選項卡和截獲中更容易發現。
History
代理歷史認爲每一個請求和響應。經過代理能夠記錄所有請求和響應。您能夠過濾和註釋這個信息來幫助管理它,並使用代理的歷史來測試流程。History(代理歷史)總在更新,即便你把Interception turned off(攔截關閉),容許瀏覽不中斷的同時還監測應用流量的關鍵細節。
History Table
表中顯示已經過代理HTTP消息的全部請求,而且能夠查看完整的你所作的任何修改和截獲的信息的請求和響應。 表中包含如下字段:
# (請求索引號)、Host(主機)、Method(請求方式)、URL(請求地址)、Params(參數)、Edited(編輯)、Status(狀態)、Length(響應字節長度)、MIME type(響應的MLME類型)、Extension(地址文件擴展名)、Title(頁面標題)、Comment(註釋)、SSL、IP(目標IP地址)、Cookies、Time(發出請求時間)、Listener port(監聽端口)
。
您能夠經過單擊任何列標題進行升序或降序排列。若是您在表中雙擊選擇一個項目地址,會顯示出一個詳細的請求和響應的窗口。或者右擊選擇 Show new history window
Display Filter
Proxy histroy有一個能夠用來在視圖中隱藏某些內容的功能,以使其更易於分析和你感興趣的工做內容的顯示過濾。 History Table上方的過濾欄描述了當前的顯示過濾器。點擊過濾器欄打開要編輯的過濾器選項。該過濾器能夠基於如下屬性進行配置:
Request type
Show only in-scope items--勾選則顯示在範圍內的項目,反之。
MIME type
您能夠設定是否顯示或隱藏包含各類不一樣的MIME類型,如HTML,CSS或圖像的響應。
Status code
您能夠設定是否要顯示或隱藏各類HTTP狀態碼響應。
Search term
您能夠過濾對反應是否不包含指定的搜索詞。您能夠設定搜索詞是不是一個文字字符串或正則表達式,以及是否區分大小寫。若是您選擇了「Negative search (消極搜索)」選項,而後不匹配的搜索詞惟一的項目將被顯示。
File extension
您能夠設定是否要顯示或隱藏指定的文件擴展名的項目。
Annotation
您能夠設定是否顯示使用用戶提供的評論或僅亮點項目。
Listener
你能夠只顯示特定的監聽端口上接收的項目。測試訪問控制時可能有用。 若是設置一個過濾器,隱藏一些項目,這些都沒有被刪除,只是隱藏起來,若是你取消設置相關的過濾器將再次出現。這意味着您能夠使用篩選器來幫助您系統地研究了大量代理的歷史來理解各類不一樣的請求顯示。
Annotations
您能夠經過添加註釋和批註亮點代理歷史記錄項。這多是有用的描述不一樣要求的目的,並標記了進一步查看。 兩種方式添加亮點: 1)使用在最左邊的表列中的下拉菜單中突出顯示單個項目。 2)能夠突出顯示使用上下文菜單中的「亮點」項目的一個或多個選定的項目。 兩種方法添加註釋: 1)雙擊相關條目,註釋列中,添加或編輯就地評論。 2)發表評論使用上下文菜單中的「添加註釋」項目的一個或多個選定的項目。 除了以上兩種,您也能夠註釋項目,它們出如今攔截選項卡,這些都將自動出如今歷史記錄表。 當您已經註明想要的請求,您能夠使用列排序和顯示過濾器後迅速找到這些項目。
Options
設置代理監聽、請求和響應,攔截反應,匹配和替換,ssl等。
Proxy Listeners
代理偵聽器是偵遵從您的瀏覽器傳入的鏈接本地HTTP代理服務器。它容許您監視和攔截全部的請求和響應,而且位於BurpProxy的工做流的心臟。默認狀況下,Burp默認監聽12.0.0.1地址,端口8080。要使用這個監聽器,你須要配置你的瀏覽器使用127.0.0.1:8080做爲代理服務器。此默認監聽器是必需的測試幾乎全部的基於瀏覽器的全部Web應用程序。
1)Binding
這些設置控制Burp怎麼代理監聽器綁定到本地網絡接口:
Bind to port---這是將被打開偵聽傳入鏈接的本地接口上的端口。你將須要使用一個沒有被綁定被其餘應用程序的閒置端口。 Bind to address---這是Burp綁定到本地接口的IP地址。
您能夠綁定到剛剛127.0.0.1接口或全部接口,或任何特定的本地IP地址。
注意:若是監聽器綁定到全部接口或特定的非loopback接口,那麼其餘計算機可能沒法鏈接到該偵聽器。這可能使他們發起出站鏈接,從您的IP地址發起,並以訪問代理服務器歷史的內容,其中可能包含敏感數據,如登陸憑據。你應該只啓用此當你位於一個受信任的網絡上。
BurpSuite讓您建立多個代理服務器的偵聽器,並提供了豐富的控制本身的行爲的配置選項。你可能偶爾須要進行測試時不尋常的應用,或與一些非基於瀏覽器的HTTP客戶端進行合做,利用這些選項。
2)Request Handling
這些設置包括選項來控制是否BurpSuite重定向經過此偵聽器接收到的請求:
Redirect to host - 若是配置了這個選項,Burp會在每次請求轉發到指定的主機,而沒必要受限於瀏覽器所請求的目標。須要注意的是,若是你正使用該選項,則可能須要配置匹配/替換規則重寫的主機頭中的請求,若是服務器中,您重定向請求預期,不一樣於由瀏覽器發送一個主機頭。
Redirect to port - 若是配置了這個選項,Burp會在每次請求轉發到指定的端口,而沒必要受限於瀏覽器所請求的目標。
Force use of SSL - 若是配置了這個選項,Burp會使用HTTPS在全部向外的鏈接,即便傳入的請求中使用普通的HTTP。您能夠使用此選項,在與SSL相關的響應修改選項結合,開展sslstrip般的攻擊使用Burp,其中,強制執行HTTPS的應用程序能夠降級爲普通的HTTP的受害用戶的流量在不知不覺中經過BurpProxy代理。
注意:每個重定向選項均可以單獨使用。所以,例如,能夠將全部請求重定向到一個特定的主機,同時保留原來的端口和協議在每一個原始請求中使用。隱形BurpProxy的支持容許非代理感知客戶端直接鏈接到監聽。
3)Certificate
這些設置控制呈現給客戶端的SSL服務器的SSL證書。使用這些選項能夠解決一些使用攔截代理時出現的SSL問題:
你能夠消除您的瀏覽器的SSL警報,並須要創建SSL例外。 凡網頁加載來自其餘域的SSL保護的項目,您能夠確保這些都可由瀏覽器加載,而不須要先手動接受每一個引用的域代理的SSL證書。 您能夠與拒絕鏈接到服務器,若是接收到無效的SSL證書胖客戶端應用程序的工做。
下列選項可用:
Use a self-signed certificate---||-一個簡單的自簽名SSL證書提交給您的瀏覽器,它老是致使SSL警告。
Generate CA-signed per-host certificate---||-這是默認選項。安裝後,BurpSuite創造了一個獨特的自簽名的證書頒發機構(CA)證書,並將此計算機上使用,每次BurpSuite運行。當你的瀏覽器發出SSL鏈接到指定的主機,Burp產生該主機,經過CA證書籤名的SSL證書。您能夠安裝BurpSuite的CA證書做爲在瀏覽器中受信任的根,從而使每一個主機的證書被接受,沒有任何警報。您還能夠導出其餘工具或Burp的其餘實例使用CA證書。
Generate a CA-signed certificate with a specific hostname---||這相似於前面的選項;然而,Burp會產生一個單一的主機證書與每個SSL鏈接使用,使用您指定的主機名。在進行無形的代理時,此選項有時是必要的,由於客戶端沒有發送鏈接請求,所以Burp不能肯定SSL協議所需的主機名。你也能夠安裝BurpSuite的CA證書做爲受信任的根。
Use a custom certificate---||-此選項使您能夠加載一個特定的證書(在PKCS#12格式)呈現給你的瀏覽器。若是應用程序使用它須要特定的服務器證書(例如一個給定序列號或證書鏈)的客戶端應該使用這個選項。
4)Exporting and Importing the CA Certificate
您能夠導出您安裝特定的CA證書在其餘工具或BurpSuite的其餘狀況下使用,而且能夠導入證書Burp在當前實例使用。 您能夠選擇要導出的證書只(用於導入到您的瀏覽器或其餘設備的信任),或者你能夠同時導出的證書及其私鑰。
注意:您不該該透露的私鑰證書給任何不可信的一方。擁有你的證書和密鑰的惡意攻擊者可能能夠,即便你不使用Burp攔截瀏覽器的HTTPS流量。
您也能夠僅經過訪問http://burp/cert在瀏覽器中導出證書。它使HTTPS請求您的瀏覽器相同的證書,但在一些移動設備上安裝時,設備經過一個URL來下載它是有幫助的。
Interception Options
設置控制哪些請求和響應都停滯用於查看和編輯在攔截選項卡。單獨的設置將應用到請求和響應。
在「Intercept」複選框肯定是否有訊息攔截。若是它被選中,而後Burp應用配置的規則對每一個消息,以肯定它是否應該被攔截。
個別規則能夠激活或停用對每一個規則的左邊的複選框。規則能夠被添加,編輯,刪除,或使用按鈕從新排序。規則能夠在消息,包括域名, IP地址,協議, HTTP方法, URL,文件擴展名,參數,cookie ,頭/主體內容,狀態代碼,MIME類型, HTML頁面標題和代理的幾乎任何屬性進行配置偵聽端口。您能夠配置規則來只攔截項目的網址是目標範圍以內的。能夠使用正則表達式對定義複雜的匹配條件。
規則按順序處理,而且使用布爾運算符AND和OR組合。這些都與處理簡單的「從左到右」的邏輯,其中每一個算子的範圍,以下所示:(全部規則以前累積的結果)和/或(當前規則的結果)全部活動的規則在每封郵件進行處理,並最終活動規則應用後的結果肯定消息是否被攔截或轉發的背景。「自動更新內容長度」複選框控件時,這已被用戶修改是否Burp自動更新消息的Content-Length頭。使用這個選項一般是必不可少的,當HTTP主體已被修改。
若是有需求,能夠在請求結束時自動修復丟失或多餘的新行。若是編輯請求不包含標題下面一個空行,Burp會添加此。若是與含有URL編碼參數的身體的編輯請求包含任何換行符在身體的末端,Burp就會刪除這些。這個選項能夠是有用的糾正,而手動編輯在攔截視圖的要求,以免發出無效的請求向服務器發出的錯誤。
Response Modification
設置用於執行自動響應的修改。您能夠使用這些選項經過自動重寫應用程序響應的HTML來完成各類任務。 下列選項在數據刪除客戶端控件多是有用的:
顯示隱藏的表單字段。 (有一個子選項,以突出強調取消隱藏欄在屏幕上,便於識別。 ) 啓用已禁用的表單域 刪除輸入字段長度限制 刪除的JavaScript表單驗證
下列選項可用於禁止客戶端邏輯用於測試目的(注意,這些特徵並不是設計用來做爲NoScript的的方式進行安全防護)有用:
刪除全部的JavaScript。 刪除<object>標記。
下列選項可用於提供對受害用戶的流量在不知不覺中被經過BurpSuite代理sslstrip般的攻擊。您能夠在與聽者選項強制SSL的傳出請求,以有效地從用戶的鏈接剝離SSL一塊兒使用這些:
轉換HTTPS爲HTTP的連接。 刪除cookie安全標誌。
Match and Replace
用於自動替換請求和響應經過代理的部分。對於每個HTTP消息,已啓用的匹配和替換規則依次執行,以及任何適用的替代品製成。規則能夠分別被定義爲請求和響應,對於消息頭和身體,而且還特別爲只請求的第一行。每一個規則能夠指定一個文字字符串或正則表達式來匹配,和一個字符串來替換它。對於郵件頭,若是匹配條件,整個頭和替換字符串匹配留空,而後頭被刪除。若是指定一個空的匹配表達式,而後替換字符串將被添加爲一個新的頭。有可協助常見任務的各類缺省規則 - 這些都是默認爲禁用。 匹配多行區域。您能夠使用標準的正則表達式語法來匹配郵件正文的多行區域。
在替換字符串,組能夠使用其次爲索引$引用。因此下面的替換字符串將包含被匹配在上述正則表達式,該標記的名稱:
SSL Pass Through
用於指定目標Web服務器爲其Burp會直接經過SSL鏈接。關於經過這些鏈接的請求或響應任何細節將在代理攔截視圖或歷史。
經過SSL鏈接傳遞能夠在這狀況下是不能直接消除了客戶端的SSL錯誤是很是有用 - 例如,在執行SSL證書釘扎的移動應用程序。若是應用程序訪問多個域,或使用HTTP和HTTPS鏈接的混合,而後經過SSL鏈接到特定問題的主機仍然可讓您以正常方式使用Burp其餘交通工做。
若是啓用該選項來自動添加客戶端SSL協商失敗的項目,而後BurpSuite會在客戶端失敗的SSL協議檢測(例如,因爲不認可BurpSuite的CA證書),並會自動將相關的服務器添加到SSL統統過列表。
Miscellaneous
控制Burp代理的行爲的一些具體細節。下列選項可用:
Use HTTP/1.0 in requests to server - 該選項控制BurpSuite代理是否強制在請求目標服務器的HTTP 1.0版。默認設置是使用任何的HTTP版本所使用的瀏覽器。然而,一些遺留服務器或應用程序可能須要1.0版本才能正常工做。
Use HTTP/1.0 in responses to client - 目前全部的瀏覽器都支持這兩個版本1.0和HTTP 1.1 。從1.0版本開始已經減小了一些功能,迫使使用1.0版本有時會頗有用,以控制瀏覽器的行爲的各個方面,例如防止企圖執行HTTP流水線。
Set response header 「Connection:close」 - 這個選項也多是有用的,以防止HTTP流水線在某些狀況下。
Unpack gzip / deflate in requests - 某些應用程序(一般是那些使用自定義客戶端組件) ,壓縮在請求消息體。該選項控制BurpProxy是否自動解壓縮壓縮請求主體。請注意,某些應用程序可能被破壞,若是他們指望的壓縮體和壓縮已經過Burp被刪除。
Unpack gzip / deflate in responses - 大多數瀏覽器接受的gzip和響應緊縮壓縮的內容。該選項控制BurpSuite代理是否自動解壓縮壓縮響應機構。請注意,您能夠常常防止服務器試圖經過刪除請求(可能使用BurpProxy的匹配和替換功能)的Accept-Encoding頭壓縮的響應。 Disable web interface at http://burp - 若是你不得不配置你的聽衆接受無保護的接口上的鏈接,並但願阻止他人接觸到Burp瀏覽器控件,此選項可能有用。
Suppress Burp error messages - 當某些錯誤時,默認狀況下BurpSuite返回有意義的錯誤信息到瀏覽器。若是你想在隱身模式下運行Burp,履行人在這方面的中間人攻擊的受害者用戶,那麼它多是有用的抑制這些錯誤信息來掩蓋一個事實,即Burp是參與。
Disable logging to history and site map - 此選項能夠防止Burp從記錄任何請求到代理服務器的歷史或目標站點地圖。若是您使用的是Burp代理對於一些特定用途,如身份驗證到上游服務器或進行匹配和替換操做,而且要避免產生內存和存儲開銷採伐牽扯它多是有用的。
Enable interception at startup- 此選項可以讓您設定是否在Burp時啓動代理截獲應該啓用。您能夠選擇始終啓用攔截,始終禁用攔截,或者從Burp上次關閉恢復設置。
Target功能
目標工具包含了SiteMap,用你的目標應用程序的詳細信息。它可讓你定義哪些對象在範圍上爲你目前的工做,也可讓你手動測試漏洞的過程。
Using Burp Target
在地址欄輸入www.baidu.com,如圖
這樣看起來site map是否是很亂,則能夠右擊add to scope,而後點擊Filter勾選Show only in-scope items,此時你再回頭看Site map就只有百度一個地址了,這裏filter能夠過濾一些參數,show all顯示所有,hide隱藏全部,若是勾選了表示不過濾
針對地址右擊顯示當前能夠作的一些動做操做等功能。左圖 針對文件右擊顯示當前能夠作一些動做操做等功能。右圖
2)Scope
這個主要是配合Site map作一些過濾的功能,如圖:
Include in scope就是掃描地址或者攔截歷史記錄裏右擊有個add to scope就是添加到這了,也能夠本身手動添加。
Target分爲site map和scope兩個選項卡
SiteMap
中心Site Map彙總全部的信息Burp已經收集到的有關地址。你能夠過濾並標註此信息,以幫助管理它,也能夠使用SiteMap來手動測試工做流程。
Target Information
SiteMap會在目標中以樹形和表形式顯示,而且還能夠查看完整的請求和響應。樹視圖包含內容的分層表示,隨着細分爲地址,目錄,文件和參數化請求的URL 。您還能夠擴大有趣的分支才能看到進一步的細節。若是您選擇樹的一個或多個部分,在全部子分支所選擇的項目和項目都顯示在表視圖。
該表視圖顯示有關每一個項目(URL , HTTP狀態代碼,網頁標題等)的關鍵細節。您能夠根據任意列進行排序表(單擊列標題來循環升序排序,降序排序,和未排序) 。若是您在表中選擇一個項目,請求和響應(如適用)該項目顯示在請求/響應窗格。這包含了請求和響應的HTTP報文的編輯器,提供每封郵件的詳細分析。
站點地圖彙總全部的信息BurpSuite已經收集到的有關申請。這包括:
全部這一切都經過代理服務器直接請求的資源。 已推斷出經過分析響應代理請求的任何物品(前提是你沒有禁用被動Spider) 。 內容使用Spider或內容發現功能查找。 由用戶手動添加的任何項目,從其它工具的輸出。
已請求在SiteMap中的項目會顯示爲黑色。還沒有被請求的項目顯示爲灰色。默認狀況下(與被動蜘蛛(passviely scan this host)啓用) ,當你開始瀏覽一個典型的應用,大量的內容將顯示爲灰色以前,你甚至獲得儘量要求,由於BurpSuite發如今您所請求的內容連接到它。您能夠刪除不感興趣的地址
Display Filter
Sitemap能夠用來隱藏某些內容從視圖中,以使其更易於分析和對你感興趣的工做內容的顯示過濾器 Sitemap上方的過濾欄描述了當前的顯示過濾器。點擊過濾器欄打開要編輯的過濾器選項。該過濾器能夠基於如下屬性進行配置:
Request type 你能夠只顯示在範圍內的項目,只能與反應項目,或者帶參數的請求。 MIME type 您能夠設定是否顯示或隱藏包含各類不一樣的MIME類型,如HTML,CSS或圖像的響應。 Status code 您能夠設定是否要顯示或隱藏各類HTTP狀態碼響應。 Search term 您能夠過濾對反應是否不包含指定的搜索詞。您能夠設定搜索詞是不是一個文字字符串或正則表達式,以及是否區分大小寫。若是您選擇了「消極搜索」選項,而後不匹配的搜索詞惟一的項目將被顯示。 File extension 您能夠設定是否要顯示或隱藏指定的文件擴展名的項目。 Annotation 您能夠設定是否顯示使用用戶提供的評論或僅亮點項目。
Annotations
經過添加註釋和批註亮點代理歷史記錄項。這多是有用的描述不一樣要求的目的,並標記了進一步查看。
您能夠經過添加註釋和批註亮點代理歷史記錄項。這多是有用的描述不一樣要求的目的,並標記了進一步查看。
兩種方式添加亮點:
1)使用在最左邊的表列中的下拉菜單中突出顯示單個項目。 2)能夠突出顯示使用上下文菜單中的「亮點」項目的一個或多個選定的項目。 兩種方法添加註釋: 3)雙擊相關條目,註釋列中,添加或編輯就地評論。 4)發表評論使用上下文菜單中的「添加註釋」項目的一個或多個選定的項目。
除了以上兩種,您也能夠註釋項目,它們出如今攔截選項卡,這些都將自動出如今歷史記錄表。 當您已經註明想要的請求,您能夠使用列排序和顯示過濾器後迅速找到這些項目。
Scope
Target scope設置,能夠從SiteMap中添加也能夠手動添加掃描範圍到Scope。你能夠在Target SiteMap和Proxy history上設置只顯示在範圍內的項目。而且能夠設置代理攔截只有在範圍內的請求和響應。Spider會掃描在範圍內的地址。專業版還能夠設置自動啓動在範圍內項目的漏洞掃描。您能夠配置Intruder和Repeater跟隨重定向到任何在範圍內的網址。發送Burp目標以適當的方式執行行動,只針對你感興趣並願意攻擊項目。
範圍定義使用的URL匹配規則兩個表 - 一個「包括(include)」列表和「exclude(排除)」列表中。Burp根據一個URL地址來決定,若是它是目標範圍以內,這將被視爲是在範圍上若是URL匹配至少一個「include」在內的規則,不符合「exclude」規則。這樣可以定義特定的主機和目錄爲大體範圍內,且距離該範圍特定的子目錄或文件(如註銷或行政職能)排除。
Spider功能
Burp Spider 是一個映射 web 應用程序的工具。它使用多種智能技術對一個應用程序的內容和功能進行全面的清查。 經過跟蹤 HTML 和 JavaScript 以及提交的表單中的超連接來映射目標應用程序,它還使用了一些其餘的線索,如目錄列表,資源類型的註釋,以及 robots.txt 文件。 結果會在站點地圖中以樹和表的形式顯示出來,提供了一個清楚並不是常詳細的目標應用程序 視圖。能使你清楚地瞭解到一個 web 應用程序是怎樣工做的,讓你避免進行大量 的手動任務而浪費時間,在跟蹤連接,提交表單,精簡 HTNL 源代碼。能夠快速地確人應 用程序的潛在的脆弱功能,還容許你指定特定的漏洞,如 SQL 注入,路徑遍歷。
Using Burp Spider
要對應用程序使用 Burp Spider 須要兩個簡單的步驟:
1 使用 Burp Proxy 配置爲你瀏覽器的代理服務器,瀏覽目標應用程序(爲了節省時間,你可 以關閉代理攔截)。 2 到站點地圖的」target」選項上,選中目標應用程序駐留的主機和目錄。選擇上下文菜單的」 spider this host/branch」選項。
你也能夠在任何 Burp 工具的任意請求或響應上使用上下文菜單上選擇」 spider this item」。當你發送一個站點地圖的分支來 spidering,Spider 會首先檢查這個分支是否在定義好的spidering 的範圍內。若是不是,Burp 會提示你是否把相關的 URL 添加到範圍裏。而後,Burp 開始 spidering,並執行下面的操做:
在分支上,請求那些已被發現的還沒被請求過的 URL。 在分支上,提交那些已被發現但提交 URL 錯誤的表單。 重複請求分支上的先前收到的狀態碼爲 304 的項,爲檢索到一個應用程序的新(未進入緩存)副本。 對全部的檢索到內容進行解析以確認新的 URL 和表單。 只有發現新內容就遞歸地重複這些步驟。 繼續在全部的範圍區域內 spidering,直到沒有新內容爲止。
注意 Spider 會跟蹤任何在當前定義的 spidering 範圍內的 URL 連接。若是你定義了一個 範圍比較大的目標,而且你只選擇了其中的一個分支來 spidering,這時 Spider 會跟蹤全部進入到這個比較大的範圍內的連接,因而也就不在原來的分支上 spider。爲了確保 Spider 只在指定分支內的請求上,你應該在開始時,就把 spidering 範圍配置爲只在這個分支上。
你應該當心地使用 Burp Spider。在它的默認設置上,Spider 會在 spidering 範圍內使用 默認輸入值,自動地提交任意表格,而且會請求許多日常用戶在只使用一個瀏覽器不會發出 的請求。若是在你定義範圍的 URL 是用來執行敏感操做的,這些操做都會被帶到應用程序 上。在你徹底地開始自動探索內容以前,使用瀏覽器對應用程序進行一些手動的映射,是很是可取的。
Control tab
這個選項是用來開始和中止 Burp Spider,監視它的進度,以及定義 spidering 的範圍。
Spider Status
1)Spider running
這個是用來開始和中止 Spider。Spider 中止後,它本身不會產生請求,但它會 繼續處理經過 Burp Proxy 的響應,而且在 spidering 範圍內的新發現的項都會送入請求隊列 裏,當 Spider 從新啓動時,再來請求。這裏顯示的一些 Spider 進度的指標,讓你能看到剩餘的內容和工做量的大小。
2)Clear queues
若是你想改變你工做的優先權,你能夠徹底地清除當前隊列的項目,來讓其餘 的項目加入隊列。注意若是被清除的項目若是還在範圍內而且 Spider 的分析器發現有新的 連接到這個項目,那麼它們還會加入隊列。
Spider Scope
在這個面板裏,你能精確地定義 Spider 的請求範圍。最好的方法一般是使用一套普遍的目標範圍,默認狀況下,蜘蛛會使用該範圍。若是您須要定義不一樣範圍的蜘蛛使用,而後選擇「Use custom scope(使用自定義範圍)」。進一步的配置面板會出如今相同的方式套件範圍的目標範圍內面板的功能。若是你使用自定義範圍並向 Spider 發送不在範圍內 的項,則 Burp 會自動更新這個自定義的範圍而不是 Suite 範圍。
Options tab
這個選項裏包含了許多控制 Burp Spider 動做的選項,以下描述。這些設置在 spider 啓 動後還能夠修改的,而且這修改對先前的結果也是有效的。例如,若是增長了最大連接深度, 在之前的最大連接深度外的連接若是知足如今的條件,也會加入到請求隊列裏。
Crawler Settings
1)check robots.txt
若是這個選項被選中,Burp Spider會要求和處理robots.txt文件,提取內容連接。這個文件是由機器人排除協議控制的蜘蛛狀製劑在互聯網上的行爲。請注意,注意 Burp Spider不會確認 robots 排除協議。Burp Spider 會列舉出目標應用程序的全部內容,請求全部在範圍 內的 robots.txt 條目。
2)detect custom "not found" responses
HTTP協議須要向Web服務器返回404狀態碼,若是一個請求的資源不存在。然而,許多Web應用程序返回使用不一樣的狀態代碼定製爲「not found」的網頁。若是是這種狀況,則使用該選項能夠防止誤報的網站內容的映射。Burp Spider從每一個域請求不存在的資源,編制指紋與診斷「not found」響應其它請求檢測定製「not found」的迴應。
3)ignore links to non-text content
經常須要推斷出在 HTML 上下文裏連接到特殊資源的 MIME 類型。例如,帶有 IMG 標記的 URL 會返回圖像;那些帶有 SCRIPT 標記的會返回 JavaScript。 若是這個選項被選中,Spider 不會請求在這個上下文出現的出現的非文本資源。使用這個選 項,會減小 spidering 時間,下降忽略掉感興趣內容的風險。
4)request the root of all directories 若是這個選項被選中,Burp Spider 會請求全部已確認的目標 範圍內的 web 目錄,除了那些目錄裏的文件。若是在這個目標站點上目錄索引是可用的, 這選項將是很是的有用。
5)make a non-parameterised request to each dynamic page
若是這個選項被選中,Burp Spider 會對在範圍內的全部執行動做的 URL 進行無參數的 GET 請求。若是期待的參數沒有被接收, 動態頁面會有不一樣的響應,這個選項就能成功地探測出添加的站點內容和功能。
6)maximum link depth
這是Burp Suite在種子 URL 裏的瀏覽」hops」的最大數。0表示讓Burp Suite只請求種子 URL。若是指定的數值很是大,將會對範圍內的連接進行無限期的有效跟蹤。將此選項設置爲一個合理的數字能夠幫助防止循環Spider在某些種類的動態生成的內容。
7)Maximum parameterized requests per URL
請求該蜘蛛用不一樣的參數相同的基本URL的最大數目。將此選項設置爲一個合理的數字能夠幫助避免爬行「無限」的內容,如在URL中的日期參數的日曆應用程序。
Passive Spidering(被動掃描)
1)passively spider as you browse
若是這個選項被選中,Burp Suite 會被動地處理全部經過 Burp Proxy 的 HTTP 請求,來確認訪問頁面上的連接和表格。使用這個選項能讓 Burp Spider 創建一個包含應用程序內容的詳細畫面,甚至此時你僅僅使用瀏覽器瀏覽了內容的一個子集,由於全部被訪問內容連接到內容都會自動地添加到 Suite 的站點地圖上。
2)link depth to associate with proxy requests
這個選項控制着與經過 Burp Proxy 訪問的 web 頁面 有關的」 link depth」。爲了防止 Burp Spider 跟蹤這個頁面裏的全部連接,要設置一個比上面 選項卡里的」 maximum link depth」值還高的一個值。
Form Submission
1)individuate forms
這個選項是配置個性化的標準(執行 URL,方法,區域,值)。當 Burp Spider 處理這些表格時,它會檢查這些標準以確認表格是不是新的。舊的表格不會加入到提交序列。
2)Don’t submit
若是選中這個,Burp Spider 不會提交任何表單。
3)prompt for guidance
若是選中這個,在你提交每個確認的表單前,Burp Suite 都會爲你指示引導。這容許你根據須要在輸入域中填寫自定義的數據,以及選項提交到服務器的哪個 區域,以及是否遍歷整個區域。
4)automatically submit
若是選中,Burp Spider 經過使用定義的規則來填寫輸入域的文本值來自動地提交範圍內的表單。每一條規則讓你指定一個簡單的文本或者正則表達式來匹配表單字段名,並提交那些表單名匹配的字段值。能夠爲任意不匹配的字段指定默認值。
在應用程序一般須要對全部輸入域都是有效格式的數據的地方,若是你想經過登記表單 和類似功能自動地 spider,則這個選項會很是有用。在自動地把表單數據提交到廣闊範圍內 的應用程序時,Burp 使用一組很是成功的規則。固然,若是你遇到有本身須要提交的特定 值的表單字段名時,你能夠修改這些或者添加本身的規則。你要當心地使用這個選項,由於 提交了表單裏的虛假值有時會致使一些不但願看到操做。
許多表單包含了多個提交元素,這些會對應用程序進行不一樣的操做,和發現不一樣的內容。 你能夠配置 Spider 重複經過表單裏提交元素的值,向每一個表單提交屢次,次數低於配置的 最大值。
Application Login
登錄表單在應用程序中扮演一個特殊角色,而且你經常會讓 Burp 用和處理日常表單不 同樣的方式來處理這個表單。使用這個配置,你能夠告訴 Spider 在遇到一個表單執行下面 4 種不一樣操做的一種:
1.若是你沒有證書,或者關注 Spidering 的敏感保護功能,Burp 能夠忽略登錄表單。 2.Burp 能交互地爲你提示引導,使你可以指定證書。這時默認設置項。 3.Burp 經過你配置的信息和自動填充規則,用處理其餘表單的方式來處理登錄表單。 4.在遇到的每一個登錄表單時,Burp 能自動地提交特定的證書。
在最後一種狀況下,任什麼時候間 Burp 遇到一個包含密碼域的表單,會提交你配置的密碼到密碼域,提交你配置用戶名到最像用戶名的字段域。若是你有應用程序的證書,想讓 Spider爲你處理登錄,一般狀況下這是最好的選項
Spider Engine
這些設置控制用於Spidering時發出HTTP請求的引擎。下列選項可用:
1)Number of threads----此選項控制併發請求進程數。 2)Number of retries on network failure----若是出現鏈接錯誤或其餘網絡問題,BurpSuite會放棄和移動以前重試的請求指定的次數。測試時間歇性網絡故障是常見的,因此最好是在發生故障時重試該請求了好幾回。 3)Pause before retry----當重試失敗的請求,BurpSuite會等待指定的時間(以毫秒爲單位)如下,而後重試失敗。若是服務器被宕掉、繁忙或間歇性的問題發生,最好是等待很短的時間,而後重試。 4)Throttle between requests----BurpSuite能夠在每次請求以前等待一個指定的延遲(以毫秒爲單位)。此選項頗有用,以免超載應用程序,或者是更隱蔽。 5)Add random variations to throttle----此選項能夠經過下降您的要求的時序模式進一步增長隱身。
Request Headers
這些設置控制由蜘蛛發出的HTTP請求中使用的請求頭。您能夠配置頭蜘蛛在請求中使用的自定義列表。這多是有用的,以知足各個應用程序的特定要求 - 例如,測試設計用於移動設備的應用程序時,以模擬預期的用戶代理。
如下選項也可用:
1)Use HTTP version 1.1----若是選中,Spider會使用HTTP1.1版在其請求;不然,它會使用1.0版。 2)Use Referer header----若是選中,Spider會要求從另外一個頁面連接到任何項目時提交相關Referer頭。此選項頗有用更加緊密地模擬將經過您的瀏覽器發出的請求,而且還可能須要瀏覽一些應用程序驗證Referer頭。
Scanner功能
Using Burp Scanner
分如下幾個步驟來簡單使用Scanner 1.設置好代理以後在地址欄輸入你要抓取的地址,而且要在Proxy裏把攔截關了,隨後切換到Scanner的Results就能夠看到地址已經在開始掃描咯
2.對地址右擊還能夠導出報告,
Html或者xml隨便你以什麼格式的,而後一直下一步下一步到以下圖選擇保存文件到哪
咱們打開看看,是否是很漂亮呢
3.若是掃描出漏洞了咱們還能夠直接在這針對某個漏洞進行查看,若是想測試的話能夠發送到Repeater進行測試哦
Results
結果選項卡包含全部的掃描儀已肯定,從主動和被動掃描的問題。以一種樹型圖顯示應用程序的內容,其中的問題已經被發現,使用URL分解成域,目錄和文件的層次表示。若是您選擇一個或多個部分的分支,全部選定的項目將掃描的問題都列出來,用組合在一塊兒的相同類型的問題。您還能夠擴大這些問題彙總查看全部的每種類型的個別問題。 若是您選擇的問題那麼將顯示相應的詳情,包括:
1)自定義的漏洞,諮詢內容包括: 問題類型及其整治的標準描述。 中適用於該問題,並影響其修復任何特定的功能的描述。 2)完整的請求和響應都是依據報告了該問題。在適用的狀況,是相關的識別和再現問題的請求和響應的部分在請求和響應消息的編輯器中突出顯示。
一般狀況下,測試並驗證一個問題最快的方法是使用發送到Repeater。另外,對於GET請求,您能夠複製此URL,並將其粘貼到瀏覽器中。而後,您能夠從新發出請求。 Burp掃描報告描述,每個問題都會給出嚴重程度(高,中,低,資訊)和置信度(確定的,堅決的,暫定)的評級。當一個問題一直使用一種技術,本質上是不太可靠(如SQL盲注)肯定,Burp會讓你意識到這一點,經過丟棄的置信水平存在必定不足。這些額定值應始終被解釋爲指示性的,你應該根據你的應用程序的功能和業務方面的知識進行審查。
這個問題已經上市,你能夠用它來執行如下操做的上下文菜單:如圖所示
Report selected issues
啓動BurpSuite Scanner的報告嚮導,生成的選定問題的正式報告。 Set severity - 這讓你從新分配問題的嚴重程度。您能夠設置嚴重程度高,中,低,或信息。您還能夠標記問題做爲假陽性。
Delect selected issues
刪除選定問題。請注意,若是你刪除了一個問題,Burp從新發現了一樣的問題(例如,若是你從新掃描了一樣的要求),那麼問題將再次報告。相反,若是你是一個假陽性標記的問題,那麼這將不會發生。所以,最適合用於清理掃描結果移除你不感興趣。對於內部的功能不須要您的問題仍然工做在主機或路徑刪除的問題,您應該使用假陽性的選項。
Scan Queue
Active Scanning(主動掃描)過程一般包括髮送大量請求到服務器爲所掃描的每一個基本的請求,這多是一個耗時的過程。當您發送的主動掃描請求,這些被添加到活動掃描隊列,它們被依次處理。如圖
掃描隊列中顯示每一個項目的詳細信息以下:
1)索引號的項目,反映該項目的添加順序。 2)目的地協議,主機和URL 。 3)該項目的當前狀態,包括完成百分比。 4)項目掃描問題的數量(這是根據所附的最嚴重問題的重要性和彩色化) 。 5)在掃描項目的請求數量進行。 注意 這不是插入點的數量的線性函數 - 觀察應用程序行爲的反饋到後續攻擊的請求,僅僅由於它會爲一個測試儀。 6)網絡錯誤的數目遇到的問題。 7)爲項目建立的插入點的數量。
這些信息可讓您輕鬆地監控個別掃描項目的進度。若是您發現某些掃描進度過於緩慢,能夠理解的緣由,如大量的插入點,緩慢的應用響應,網絡錯誤等給定這些信息,你就能夠採起行動來優化你的掃描,經過改變配置爲插入點時,掃描引擎,或正在測試的主動掃描區域。
你能夠雙擊任何項目在掃描隊列顯示,到目前爲止發現的問題,並查看了基本請求和響應的項目。您能夠使用掃描隊列的上下文菜單來執行各類操做來控制掃描過程。確切的可用選項取決於所選的項目(S )的狀態,幷包括:以下圖所示
Show details
這將打開顯示到目前爲止發現的問題的一個窗口,與底座請求和響應的項目。
Scan again
此複製所選擇的項目(S ) ,並將這些隊列的末尾。
Delete item(S)
這將永久地從隊列中刪除選定的項目(S ) 。
Delect finished items
這永久刪除那些已經完成了隊列中的任何項目。
Automatically delete finished items
這是否切換掃描器會自動從隊列爲他們完成刪除項目。
Pause/resume scanner
這能夠暫停和恢復激活掃描儀。若是任何掃描正在進行時,掃描會暫停,而掛起的掃描請求完成後,一般會有一個短暫的延遲。
Send to
這些選項用於所選項目的基本請求發送到其它Burp(Repeater、Intruder)工具。
Live Scanning
實時掃描可以讓您決定哪些內容經過使用瀏覽器的目標應用,經過BurpProxy服務器進行掃描。您能夠實時主動掃描設定live active scanning和live passive兩種掃描模式。如圖
Live active scanning
執行現場主動掃描,請執行如下步驟:
1)配置與目標的細節,你要主動掃描現場主動掃描設置。若是你已經配置了一套全範圍的目標爲你目前的工做,那麼你能夠簡單地通知Burp主動掃描落在該範圍內的每一個請求。或者,您能夠使用URL匹配規則定義自定義範圍。 2)各地經過BurpProxy一般的方式應用瀏覽。這將有效地展現Burp要掃描的應用功能。對於每個獨特的所在範圍的要求,你經過你的瀏覽器,Burp會排隊主動掃描請求,並將努力走在後臺找到漏洞爲您服務。
Live Passive Scanning
現場演示被動掃描,請執行如下步驟:
1)配置具備您要被動地掃描目標的細節live passive scanning。默認狀況下,Burp執行全部請求的被動掃描,但你能夠限制掃描目標範圍,或者使用URL匹配規則的自定義範圍。 2)經過BurpProxy一般的方式應用瀏覽。這將有效地展現Burp你要掃描的應用功能。
Options
此選項卡包含Burp掃描選項進行攻擊的插入點,主動掃描引擎,主動掃描優化,主動掃描區和被動掃描區域。
Attack Insertion Points
這些設置控制掃描儀的地方「插入點(insertion points)」到被髮送的主動掃描每一個基本要求。插入點攻擊將被放置,探測漏洞請求中的位置。每一個定義的插入點單獨掃描。 BurpSuite爲您提供細粒度地控制放置插入點,以及這些選項仔細配置會讓您量身定製您的掃描到您的目標應用程序的性質。插入點的配置也表明你的掃描速度和全面性之間進行權衡。
注:除了讓Burp自動指定插入點,就能夠徹底自定義這些,這樣你就能夠在你想要攻擊的地方放在任意一個位置。要使用此功能,將請求發送給Intruder,用payload positions標籤來定義一般的方式各插入點的開始和結束,並選擇入侵者菜單選項「積極定義掃描插入點」 。您也能夠指定以編程方式使用Burp擴展的自定義插入點位置。
1)Insertion Point Locations
這些設定可以讓您選擇,其中插入點應放在請求中的位置的類型:
URLparameter values - URL查詢字符串中標準的參數值。 Body parameter values - 在郵件正文中,包括標準形式生成的參數參數值,屬性的多重編碼的參數,如上傳的文件名, XML參數值和屬性,和JSON值。 Cookieparameter values - 的HTTP Cookie的值。 Parameter name - 任意添加的參數的名稱。 URL參數老是被添加,而且機身參數也加入到POST請求。測試一個附加的參數名稱一般能夠檢測到被錯過,若是隻是參數值進行了測試異常的錯誤。 HTTPheaders - 在引用頁和用戶代理標頭的值。測試這些插入點一般能夠檢測如SQL注入或跨站腳本持續在日誌記錄功能的問題。 AMF string parameters- 內AMF編碼的郵件的任何字符串數據的值。 REST-style URL parameters - URL的文件路徑部分中的全部目錄和文件名令牌的值。測試每個插入點能夠並處顯著開銷,若是你相信應用程序使用這些位置傳送參數數據,才應使用。
2)Change Parameter Locations
容許您配置掃描儀將一些類型的插入點到其餘地點的請求中,除了測試他們在原來的位置。例如,您能夠將每一個URL參數到郵件正文中,並從新測試它。或者你能夠移動身體的每一個參數到一個cookie ,而後從新測試它。
用這種移動參數方式每每能夠繞過防過濾器。許多應用程序和應用程序防火牆執行每一個參數輸入驗證假設每一個參數是它的預期位置的要求以內。移動參數到不一樣的位置能夠迴避這個驗證。當應用程序代碼後檢索參數來實現其主要的邏輯,它可能會使用一個API,它是不可知的,以參數的位置。若是是這樣,那麼移動的參數可能能夠使用輸入,一般會在處理以前被過濾,以達到易受攻擊的代碼路徑。
下列選項可用於更改參數的位置:
URL to body URL to cookie Body to URL Body to cookie Cookie to URL Cookie to body
3)Nested Insertion Points
嵌套的插入時,會使用一個插入點的基值包含可識別的格式的數據。 例如,一個URL參數可能包含Base64編碼數據,而且將解碼後的值可能又包含JSON或XML數據。與使用啓用嵌套插入點的選項,Burp會爲輸入在每一個嵌套級別中的每一個單獨的項目適合的插入點。 Spider僅包含常規的請求參數請求時使用此選項不徵收費用,但容許Burp達到更復雜的應用,數據是在不一樣的格式封裝的攻擊面。
4)Maximum Insertion Points Per Request
不管你的設置選擇,對於單個請求插入點的數目,通常視乎該請求的功能,如參數的數目。偶爾,請求能夠包含的參數(幾百或更多)數量。若是Burp執行的每一個參數進行徹底掃描,掃描會花費過多的時間量完成。 此設置容許您設置的,將每一個基本要求生成插入點的數量的限制,從而防止您的掃描由偏快轉爲停滯,若是他們遇到含參數龐大的數字請求。在其中插入點的數量是由這個限制縮減的狀況下,在有效掃描隊列中的項目的條目將顯示被跳過的插入點的數量,使您可以手動檢查基本要求,並決定是否值得執行徹底掃描其全部可能的插入點。
5)Skipping Parameters
設定讓您指定請求參數的Burp應該跳過某些測試。有跳過服務器端注入測試(如SQL注入)和跳過全部檢查單獨的列表。 服務器端注入測試是比較費時的,由於Burp發送多個請求探測服務器上的各類盲目的漏洞。若是您認爲出現請求中的某些參數不容易(例如,內置僅由平臺或Web服務器中使用的參數) ,你能夠告訴Burp不能測試這些。 (用於測試客戶端蝽象跨站點腳本涉及更少的開銷,由於測試每一個參數規定最小的開銷在掃描期間,若是該參數不容易。 ) 若是一個參數是由您不但願測試一個應用程序組件來處理,或者修改一個參數是已知的致使應用程序不穩定跳過全部的測試多是有用的。 列表中的每一個項目指定參數類型,該項目要匹配(名稱或值) ,匹配類型(文本字符串或正則表達式) ,表達式匹配。 你能夠經過它們的位置(斜線分隔)的URL路徑中標識的REST參數。要作到這一點,從參數下拉,「姓名」,從項目下拉「 REST參數」 ,並指定您但願從測試中排除的URL路徑中的位置的索引號(從1開始) 。您還能夠經過值來指定REST參數。
Active Scanning Engine
控制用來作主動掃描時發出HTTP請求的引擎。下列選項可用:
1)Number of threads - 控制併發請求數。 2)Number of retries on network failure - 若是出現鏈接錯誤或其餘網絡問題,Burp會放棄和移動以前重試的請求指定的次數。測試時間歇性網絡故障是常見的,因此最好是在發生故障時重試該請求了好幾回。 3)Pause before retry - 當重試失敗的請求,Burp會等待指定的時間(以毫秒爲單位)如下,而後重試失敗。若是服務器宕機,繁忙,或間歇性的問題發生,最好是等待很短的時間,而後重試。
Throttle between requests - 在每次請求以前等待一個指定的延遲(以毫秒爲單位)。此選項頗有用,以免超載應用程序,或者是更隱蔽。
Add random variations to throttle - 經過下降您的要求的時序模式進一步增長隱身。
Follow redirections where necessary- 有些漏洞只能經過下面的重定向進行檢測(例如,在一條錯誤消息,跨站點腳本這是隻有下列一個重定向後退還)。由於某些應用程序的問題重定向到包含您所提交的參數值的第三方網址,BurpSuite保護您免受無心中攻擊的第三方應用程序,不按照剛剛收取任何重定向。若是所掃描的要求是明確的目標範圍以內(即您使用的是目標範圍,以控制哪些被掃描的),而後BurpSuite只會跟隨重定向是指同一範圍內。若是所掃描的要求不在範圍內(即你已經手動發起超出範圍的請求的掃描),BurpSuite只會跟隨重定向其中(a)是在同一臺主機/端口的請求被掃描;及(b)沒有明確涵蓋的範圍排除規則(如「logout.aspx」)。
當心使用這些選項可以讓您微調掃描引擎,根據不一樣應用對性能的影響,並在本身的處理能力和帶寬。若是您發現該掃描儀運行緩慢,但應用程序表現良好和你本身的CPU利用率很低,能夠增長線程數,讓您的掃描進行得更快。若是您發現鏈接錯誤發生,該應用程序正在放緩,或者說本身的電腦被鎖定了,你應該減小線程數,也許增長網絡故障和重試之間的間隔重試的次數。若是應用程序的功能是這樣的:在一個基地的要求執行的操做干擾其餘請求返回的響應,你應考慮減小線程數爲1,以確保只有一個單鹼基請求被掃描的時間。
Active Scanning Optimization
主動掃描邏輯的行爲,以反映掃描的目的和目標應用程序的性質。例如,您能夠選擇更容易發現問題,在一個大型應用程序的快速掃描;或者您能夠執行更慢全面掃描,以發現更難,並且須要更多的掃描請求,以檢測問題。
下列選項可用:
Scan speed(掃描速度) - 該選項決定完全的某些掃描檢查,怎麼會檢查是否有漏洞時。 「Fast(快速)」設置使更少的請求,並檢查一些漏洞更少的推導。在「Thorough(完全)」的設置使更多的請求,並檢查更多的衍生類型的漏洞。 「Normal(正常)」設定爲中途在二者之間,而且表明速度和完整性之間的適當折衷對於許多應用。
Scan accuracy(掃描精度) - 此選項決定的證據代表,掃描儀會報告某些類型的漏洞以前,要求的金額。能夠只使用「blind(盲)」的技術,其中,Burp推斷可能存在基於某些觀察到的行爲,如時間延遲或一個差分響應的一個漏洞被檢測到的一些問題。由於這些觀察到的行爲的發生緣由,不管如何,在沒有相關聯的漏洞的影響,該技術自己更容易出現假陽性比其餘技術,例如在觀察錯誤消息。試圖減小誤報,BurpSuite重複某些測試了一些,當一個假定的問題,推斷時間,嘗試創建提交的輸入和觀察到的行爲之間有可靠的相關性。的準確性選項用於控制BurpSuite會多少次重試這些測試。在「Minimize false negatives(最小化假陰性)」的設置進行重試較少,所以更可能報告假陽性的問題,但也不太可能會錯過因爲不一致的應用程序行爲的真正問題。在「Minimize false positives(最小化誤報)」設置進行更多的試,因此是不太可能報告假陽性的問題,但可能會所以錯誤地錯過了一些真正的問題,由於有些重試請求可能只是碰巧不返回結果是測試。 「Normal(正常)」設置爲中途二者之間,並表明之間的假陽性和假陰性的問題合適的權衡對於許多應用。
Use intelligent attack selection(使用智能進攻選擇) - 此選項使經過省略出現可有可無給每一個插入點參數的基值支票掃描更有效率。例如,若是一個參數值包含不正常出如今文件名中的字符,BurpSuite會跳過文件路徑遍歷檢查此參數。使用這個選項,能夠加快掃描件,具備相對低的存在缺乏實際的漏洞的風險。
Active Scanning Areas
定義哪些是主動掃描過程當中進行檢查。是檢查如下類別可供選擇:
SQL injection(SQL注入) - 這有子選項,以使不一樣的測試技術(偏差爲基礎,延時測試,布爾條件測試) ,而且也使檢查特定於單個數據庫類型( MSSQL ,Oracle和MySQL的) 。 OS command injection(操做系統命令注入) - 這有子選項,以使不一樣的測試技術.。 Reflected XSS(反映了跨站點腳本) Stored XSS(存儲的跨站點腳本) File path traversal(文件路徑遍歷) HTTP header injection(HTTP頭注入) XML/SOAP injection(XML / SOAP注射) LDAP injection(LDAP注入) Open redirection(開放重定向) Header manipulation(頭操縱) Server-level issues服務器級的問題
所執行的每一個檢查增長的請求的數目,以及每一個掃描的總時間。您能夠打開或關閉個別檢查根據您的應用程序的技術知識。例如,若是你知道某個應用程序不使用任何LDAP ,您能夠關閉LDAP注入測試。若是你知道哪一個後端數據庫的應用程序使用,你能夠關閉SQL注入檢測特定於其餘類型的數據庫。您也能夠選擇性地啓用基於你如何嚴格要求你的掃描是檢查。例如,您能夠配置BurpSuite作應用程序的快速一次過,只爲XSS和SQL注入的網址和參數檢查,每漏洞類型更全面的測試在每個插入點以前。
Passive Scanning Areas
自定義的請求和響應的各個方面在被動掃描檢查。下列選項可用:
Headers--頭 Forms--表格 Links--連接 Parameters--參數 Cookie MIME類型 Caching緩存 Information disclosure--信息披露 Frameable responses--耐燃反應(「點擊劫持」) ASP.NET的ViewState 須要注意的是被動掃描不會派出本身的任何要求,和每一個被動強加檢查您的計算機上一個微不足道的處理負荷。不過,你能夠禁用檢查各個領域,若是你根本就不關心他們,不但願他們出如今掃描結果。
Intruder
Burp intruder是一個強大的工具,用於自動對Web應用程序自定義的攻擊。它能夠用來自動執行全部類型的任務您的測試過程當中可能出現的。
要開始去了解BurpSuite Intruder,執行如下步驟:
1)首先,確保Burp安裝並運行,而且您已配置您的瀏覽器與Burp工做。 2)若是你尚未這樣作的話,瀏覽周圍的一些目標應用程序,來填充的應用程序的內容和功能的詳細信息Burp的SiteMap。在這樣作以前,要加快速度,進入代理服務器選項卡,而後截取子標籤,並關閉代理攔截(若是按鈕顯示爲「Intercept is On」,而後點擊它來截取狀態切換爲關閉) 。 3)轉到Proxy選項卡,並在History選項卡。發現一個有趣的前瞻性要求,您的目標應用程序,包含了一些參數。選擇這個單一的請求,而後從上下文菜單中選擇「Send to intruder」 。 4)轉到Intruder標籤。Burp Intruder可讓你同時配置多個攻擊。您Send to Intruder的每一個請求在本身的攻擊選項卡中打開,而這些都是順序編號的默認。您能夠雙擊標籤頭重命名選項卡,拖動標籤來從新排序,而且還關閉和打開新的標籤頁。 5)爲您發送請求創建的Intruder選項卡,看看Target和Positions選項卡。這些已經自動填入您發送的請求的細節。 6)Burp Intruder本質工做,採起了基本模板的要求(你送到那裏的那個) ,經過一些payloads的循環,將這些payloads送入定義的Positions,基本要求範圍內,併發出每一個結果的要求。位置標籤用於配置,其中有效載荷將被插入到基本要求的位置。你能夠看到,BurpSuite一直在你想用來放置有效載荷自動進行猜想。默認狀況下,有效載荷放入全部的請求參數和cookie的值。每對有效載荷標記定義了一個有效載荷的位置,而且能夠從基體的要求,這將被替換的有效載荷的內容,當該payload position用於括一些文本。有關進一步詳情,請參閱Payload Markers的幫助。 7)旁邊的請求編輯器中的按鈕能夠被用於添加和清除有效載荷的標誌。試着增長payload position在新的地點請求中,並刪除其餘標誌物,並看到效果了。當你理解了payload positions是如何工做的,請單擊「Auto§ 」按鈕恢復到BurpSuite爲您配置的默認payload positions。若是你修改了請求自己的文本,能夠重複步驟3建立與它的原始請求一個新的Intruder的攻擊選項卡。
8)轉到Payloads選項卡。這使您能夠定義將要放入已定義的有效載荷倉的有效載荷。保持默認設置(使用有效載荷的「Simple list」 ) ,並添加一些測試字符串到列表中。您能夠經過輸入到「Enter a new item」框中,單擊「add」,輸入本身的字符串。或者您能夠使用「add from file」下拉菜單,而後選擇「Fuzzing-quick」,從內置的負載串[專業版]列表中。 9)如今,您已經配置了最低限度的選項來發動攻擊。轉到Intruder菜單,而後選擇「Start attack」 。 10)在包含在結果選項卡一個新的窗口中打開攻擊。結果表包含已經取得,與各關鍵細節,如所使用的有效載荷, HTTP狀態碼,響應長度等,您能夠在表中選擇任何項目,以查看完整的請求和響應每一個請求的條目。您還能夠對錶進行排序經過單擊列標題,並使用過濾器欄過濾表中的內容。這些特徵以相同的方式工做,做爲Proxy history。 11)此次襲擊窗口包含其餘標籤,顯示被用於當前攻擊的配置。您能夠修改大部分這種配置的攻擊已經開始。轉到選項選項卡,向下滾動到「 grep-match」 ,並勾選「標誌的結果與項目相匹配的響應這些表達式」 。這將致使Intruder檢查響應匹配列表中的每一個表達式項目和標誌的火柴。默認狀況下,列表顯示fuzzing時是頗有用的一些常見的錯誤字符串,但能夠配置,若是你想本身的字符串。返回result選項卡,看到Intruder增長了對每一個項目列在列表中,而這些包含複選框,指示表達式是否被髮如今每個響應。若是你是幸運的,你的基本模糊測試可能引起一個錯誤的存在在一些迴應的錯誤消息。 12)如今,在表中選擇任何項目,並期待在該項目的響應。發如今反應(如網頁標題,或錯誤消息)一個有趣的字符串。右鍵單擊該項目在表中,而後從上下文菜單中選擇「Define extrace grep from response」 。在對話框中,選擇響應的有趣字符串,而後單擊「肯定」 。結果表中如今包含一個新的列,其提取這一段文字從每一個響應(其能夠是不一樣的在每一種狀況下) 。您能夠使用此功能來定位在大型攻擊有趣的數據與成千上萬的反應。請注意,您還能夠配置「extrace grep 」項目中的選項選項卡,在此以前前或在攻擊期間。 13)在結果表中選擇任一項目,並打開上下文菜單。選擇「Send to Repeater」 ,而後轉到Repeater選項卡。你會看到所選的請求已被複制到Repeater工具,進行進一步的測試。許多其餘有用的選項是可用的上下文菜單中。有關發送BurpSuite工具之間的項目,使總體測試工做流程的詳細信息。 14)您能夠使用「Save」菜單在結果窗口中都救不結果表或整個攻擊。你能夠加載結果表到其餘工具或電子表格程序。您能夠經過在主Burp的UI Intruder菜單從新加載保存的攻擊。 15)這些步驟只介紹一個簡單的用例Intruder,對於Fuzzing的要求有一些標準的攻擊字符串和用grep搜索中的錯誤消息。您能夠使用Intruder許多不一樣類型的攻擊,有許多不一樣的payloads和攻擊選項。
Using Burp Intruder
for example 這裏我本地搭建一個環境,爆破一個php大馬,若是是一句話就把get改爲post,若是是php一句話,就在下面加上php這行代碼,如圖
asp password=execute("response.clear:response.write(""passwordright""):response.end") php password=execute("response.clear:response.write(""elseHelloWorld""):response.end") aspx password=execute("response.clear:response.write(""elseHelloWorld""):response.end")。
通常步驟以下
1.代理好服務器地址,而後訪問這個大馬地址
2.隨後點擊forward,而且在大馬頁面隨便輸入什麼,burp攔截了數據以後發送到repeater
3.切換到repeater選項卡中,點擊go按鈕,找出一些反饋的錯誤信息,固然若是不要也能夠,這裏找錯誤信息是方便爆破成功了以後便於發現,我這個馬反饋的是中文錯誤信息,顯示是亂碼就不寫了,咱們能夠經過爆破成功了以後看字節數。 4.接下來就是發送到intruder,target通常都不須要管,已經自動填好了,而後選擇positions
先點擊Clear$,選擇密碼地地方點擊add$。
5.切換到payloads設置payload type,選擇咱們本身的字典
6.切換到options去設置進程數和失敗以後重試次數、過濾結果
通常我都會把Grep-Match清理掉,免得干擾。
7.接下來點擊intruder下的start attack就開始爆破了,密碼admin,我是根據length來判斷跟其餘的不一樣
附贈一個webshell字典:shellpassword.txt.zip
Target
用於配置目標服務器進行攻擊的詳細信息。所需的選項有: Host(主機) - 這是目標服務器的IP地址或主機名。 Port(端口) - 這是HTTP / S服務的端口號。 Use HTTPS(使用HTTPS),這指定的SSL是否應該被使用。 配置這些細節最簡單的方法是選擇你要攻擊中BurpSuite的任何地方的請求,並選擇上下文菜單中的「Send to intruder」選項。這將發送選定的請求,在intruder一個新的選項卡,將自動填充的目標和位置選項卡。
Positions
用於配置request temlate的攻擊,和payloads markers、attack type一塊兒。
Request Template
主要請求編輯器是用來定義從全部攻擊請求都將被導出的請求模板。對於每個攻擊的請求,BurpSuite接受請求的模板,並把一個或多個有效載荷送入由有效載荷標記定義的位置。 成立請求模板的最簡單的方法是選擇你要攻擊中BurpSuite的任何地方的請求,並選擇上下文菜單中的「Send to intruder」選項。這將發送選定的請求,在intruder的選項卡,將自動填充的Target和Positions選項卡。
Payload Markers
有效載荷的標記是使用§字符,而且功能以下放置:
1)每對標記指定一個有效載荷的位置。 2)一對標記物能夠從它們之間任選的模板要求附上一些文字。 3)當一個有效載荷的位置被分配了一個有效載荷,不管是標記和任何包含的文本將被替換爲有效載荷。 4)當一個有效載荷的位置不具備分配的有效載荷,該標記將被刪除,可是所包含的文本保持不變。
爲了使配置更加簡單,Intruder會自動突出顯示每對有效載荷的標記和任何它們之間包含的文本。
您能夠手動或自動作有效載荷標記。當您從BurpSuite別處發送一個請求到Intruder,Intruder猜想你可能要放置有效載荷,並設置相應的有效載荷標記。您能夠修改使用按鈕的默認有效載荷標記旁邊的請求模板編輯器:
Add§ - 若是沒有文本被選中,該插入一個有效載荷標記在光標位置。若是您已經選擇了一些文字,一對標記插入封閉選定的文本。 Clear§ - 這將刪除全部的位置標記,不管是從整個模板或模板的選定部分。 Auto§ - 自動放置有效載荷標記。包括價值:
1)URL查詢字符串參數 2)車身參數 3)曲奇餅 4)多重參數屬性(例如,在文件上傳的文件名) 5)XML數據和元素屬性 6)JSON參數
您能夠配置自動負載位置是否將更換或追加到現有的參數值,經過入侵者菜單上的選項。須要注意的是,若是一個子部分的要求,但不是整個消息體,包含格式化數據使用XML或JSON ,能夠自動經過這種結構中的位置的有效載荷手動選擇格式化數據的準確塊,並使用「自動」按鈕在其定位的有效載荷。這是有用的,例如,當一個多參數的值包含在XML或JSON格式數據。
刷新 - 這將刷新請求模板編輯器的語法彩色化,若是必要的。 清除 - 這會刪除整個請求模板。
注意:您也能夠使用入侵者的有效載荷倉的UI經過BurpSuite掃描儀配置自定義插入點主動掃描。要作到這一點,配置請求模板和有效載荷在標記內入侵者一般的方式,而後選擇從入侵者菜單中的「主動掃描定義插入點」 。
Attack type
Burp Intruder支持各類攻擊類型 - 這些決定在何種負載分配給有效載荷倉的方式。攻擊類型能夠使用請求模板編輯器上方的下拉菜單進行選擇。如下攻擊類型可供選擇:
Sniper(狙擊手) - 這將使用一套單一的payloads。它的目標依次在每一個有效載荷的位置,並把每一個有效載荷送入依次那個位置。這不是針對一個給定的請求的位置不受影響 - 位置標記被移除,並在它們之間出如今模板中任何封閉文本保持不變。這種攻擊類型爲個別模糊測試的一些請求參數常見的漏洞很是有用。在攻擊中生成的請求的總數是位置的數目和在有效載荷中設定的有效載荷的數量的乘積。
Battering ram(撞擊物) - 使用一組payload。經過迭代的有效載荷方式,並將相同的payloads再一次填充到全部已定義的有效載荷倉。當其中一個攻擊須要相同的輸入將被插入在多個地方在請求中(例如,一個Cookie中的用戶名和cookie參數)對這種攻擊類型是很是有用的。在攻擊中生成的請求的總數是有效載荷的有效載荷中設定的數目。
例如生成一組數字1-9,則就是1-1 ,2-2,3-3這種形式 Pitchfork(相交叉) - 這將使用多個payloads集。有對每一個定義的位置(最多20個)不一樣的有效載荷組。經過設置全部有效載荷的攻擊迭代的方式,並將一個有效載荷到每一個定義的位置。
例如設置多個,每一個payload設置一個字典,則就是1-1-1,2-2-2,3-3-3這種形式
換句話說,第一個請求將放置第一個有效載荷的Payload set 1到Positions 1 ,並從有效載荷中的第一個Payload set 2到Positons 2 ;第二個請求將放置第二個Payload set 1到Positions 1 ,並從payload中的第二個Payload set 2到Postions2 ,等在那裏的攻擊須要不一樣但相關的輸入進行插在多個地方,這種攻擊類型是有用的請求(例如,用戶名中的一個參數,和對應於該用戶名中的另外一個參數已知的ID號) 。在攻擊中生成的請求的總數是有效載荷中的最小有效載荷組的數目。
Cluster bomb(集束炸彈) - 使用多個Payload sets。有對每一個定義的Positions(最多20個)設置不一樣的payload set。經過每一個有效載荷的攻擊迭代依次設置,使有效載荷組合的全部排列進行測試。
例如設置三個字典都是10個數,則總共有1000總匹配的模式
也就是說,若是有兩個有效載荷的位置,則該攻擊將放置第一個有效載荷從payload set 2到Positions 2 ,並經過在有效負載的全部 payload set 1中的positions 1 ;而後它將第二個有效載荷從載荷設置2到位置2 ,並經過有效載荷所有載入循環設置1到位置1 。其中一個攻擊須要不一樣的和無關的或未知輸入要在多個地方插入這種類型的攻擊是很是有用的在請求中(例如猜想憑證,在一個參數的用戶名,而且在另外一個參數密碼時) 。在攻擊中生成的請求的總數是在全部定義的有效載荷的有效載荷集的數目的乘積 - 這多是很是大的。
Payloads
Types
Burp Intruder包含如下幾種attack type:
Simple list--簡單字典 Runtime file--運行文件 Custom iterator--自定義迭代器 Character substitution--字符替換
此負載類型容許您配置一個字符串列表,並應用各類字符替換到每一個項目。這多是在密碼猜想攻擊很是有用,用來產生在字典中的單詞常見的變化。 用戶界面容許您配置了一些字符替換。當執行攻擊,有效載荷類型工程經過逐一配置的列表項。對於每一個項目,它產生一個數的有效載荷,根據所定義的取代基包括取代的字符的全部排列。例如,默認替換規則(其中包括e>3且t>7),該項目「peter」將產生如下的有效載荷:
peter p3ter pe7er p37er pet3r p3t3r pe73r p373r
Case modification--此負載類型容許您配置一個字符串列表,並應用各類狀況下修改每一個項目。這多是密碼猜想攻擊很是有用,用來產生在字典中的單詞的狀況下的變化。 能夠選擇如下的狀況下修改規則:
No change - 這個項目能夠用不被修改。 To lower case- 在該項目的全部字母轉換爲小寫。 To upper case - 在該項目的全部字母轉換爲大寫。 To Propername - 在該項目的第一個字母轉換爲大寫,以及隨後的字母轉換爲小寫。 To ProperName - 在該項目的第一個字母轉換爲大寫,以及隨後的字母都不會改變。
例如:
Peter Wiener peter wiener PETER WIENER Peter wiener
選項:
Recursive grep--遞歸grep Illegal Unicode--非法的Unicode Character blocks--字符塊 Numbers--數字 Dates--日期 Brute forcer--暴力 Null payloads--空的有效負載 Character frobber--性格frobber Bit flipper--位翻轉 Username generator--用戶名生成器 ECB block shuffler--歐洲央行座洗牌 Extension-generated--擴展生成 Copy other payload--複製其它有效負載
Processing
由配置的有效載荷類型生成的有效載荷能夠使用各類有效載荷的處理規則和有效負載編碼能夠進一步操縱。
1)Payload Processing Rules
在它被使用以前能夠定義規則來對每一個有效載荷執行各類處理任務。該定義的規則按順序執行,而且能夠打開和關閉,以幫助調試與配置的任何問題。有效載荷的處理規則是有用的在多種狀況下,你須要生成不一樣尋常的有效載荷,或者須要在一個更普遍的結構或在使用前編碼方案包的有效載荷可達。
Add prefix - 添加一個文字前綴 Add suffix - 添加一個文字後綴 Match/replace - 將替換匹配特定正則表達式的有效載荷的任何部位,用一個文字字符串表示。 Substring - 提取的有效載荷的子部分中,從指定的偏移量(0-索引)和至所指定的長度開始。 Reverse substring - 對於子規則來講,最終的偏移量指定的有效載荷的末尾向後計數,而且長度從端部向後偏移計數。 Modify case - 這個修改了的有效載荷的狀況下,若是適用的話。一樣的選項做爲的狀況下修改有效載荷類型。 Encode - URL,HTML,Base64的,ASCII碼或十六進制字符串構建各類平臺:採用不一樣的計劃,該編碼的有效載荷。 Hash - hash Add raw payload - 這以前或以後,在當前處理的值增長了原始負載值。它能夠是有用的,例如,若是你須要提交相同的有效載荷在raw和哈希表。 Skip raw payload - 將檢查是否當前處理的值匹配指定的正則表達式,若是是這樣,跳過有效載荷和移動到下一個。這多是有用的,例如,若是知道一個參數值必須有一個最小長度和要跳過的一個列表,比這更短的長度的任何值。 Invoke Burp extension - 調用一個Burp exxtension(擴展)來處理負載。擴展名必須已註冊入侵者有效載荷處理器。您能夠從已註冊的當前加載的擴展可用的處理器列表中選擇所需的處理器。
是規則的如下類型:
2)Payload Encoding
你能夠配置哪些有效載荷中的字符應該是URL編碼的HTTP請求中的安全傳輸。任何已配置的URL編碼最後應用,任何有效載荷處理規則執行以後。 這是推薦使用此設置進行最終URL編碼,而不是一個有效載荷處理規則,由於能夠用來有效載荷的grep選項來檢查響應爲呼應有效載荷的最終URL編碼應用以前。...
Optins
此選項卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你能夠發動攻擊以前,在主要Intruder的UI上編輯這些選項,大部分設置也能夠在攻擊時對已在運行的窗口進行修改。
Request Headers
這些設置控制在攻擊Intruder(入侵者)是否更新配置請求頭。請注意,您能夠徹底控制請求頭經過在Payload positions(有效載荷位置)標籤的要求範圍內。這些選項能夠用來更新每一個請求的報頭的方式,一般是有幫助的。
下列選項可用:
Update Content-length header(更新Content-Length頭) - 此選項使Intruder(入侵者)添加或更新的Content-Length頭的每一個請求,與該特定請求的HTTP體的長度正確的值。此功能一般用於該插入可變長度的有效載荷送入模板的HTTP請求的主體的攻擊相當重要。若是未指定正確的值,則目標服務器可能會返回一個錯誤,可能不徹底響應請求,或者可能無限期地等待在請求繼續接收數據。
Set Connection:close(設置鏈接:關閉) - 此選項使Intruder(入侵者)添加或更新鏈接頭的值爲「close(關閉)」 。在某些狀況下(當服務器自己並不返回一個有效的Content-Length或Transfer-Encoding頭) ,這個選項可讓攻擊更快速地執行。
Request Engine
設置控制用於發出HTTP請求中的Intruder(入侵者)攻擊的Engine(引擎)。下列選項可用:
Number of threads(執行進程數) - [專業版]該選項控制併發請求數的攻擊。 Number of retries on network failure(網絡故障的重試次數) - 若是出現鏈接錯誤或其餘網絡問題,Burp會放棄和移動以前重試的請求指定的次數。測試時間歇性網絡故障是常見的,因此最好是在發生故障時重試該請求了好幾回。 Pause before retry(重試前暫停) - 當重試失敗的請求,Burp會等待指定的時間(以毫秒爲單位) ,而後重試失敗如下。若是服務器被宕機,繁忙,或間歇性的問題發生,最好是等待很短的時間,而後重試。 Throttle between requests(請求之間的節流) - Burp能夠在每次請求以前等待一個指定的延遲(以毫秒爲單位) 。此選項頗有用,以免超載應用程序,或者是更隱蔽。或者,您能夠配置一個可變延遲(與給定的初始值和增量) 。這個選項能夠是有用的測試應用程序執行的會話超時時間間隔。 Start time(開始時間) - 此選項容許您配置攻擊當即啓動,或在指定的延遲後,或開始處於暫停狀態。若是攻擊被配置,將在將來的某個時刻以供未來使用被執行,或保存這些替代品多是有用的。
當心使用這些選項可以讓您微調攻擊引擎,這取決於對應用程序性能的影響,並在本身的處理能力和帶寬。若是您發現該攻擊運行緩慢,但應用程序表現良好和你本身的CPU利用率很低,能夠增長線程數,使你的攻擊進行得更快。若是您發現鏈接錯誤發生,該應用程序正在放緩,或者說本身的電腦被鎖定了,你應該減小線程數,也許增長網絡故障和重試之間的間隔重試的次數。
Attack Results
這些設置控制哪些信息被捕獲的攻擊效果。下列選項可用:
Store requests/responses(存儲請求/響應) - 這些選項肯定攻擊是否會保存單個請求和響應的內容。保存請求和響應占用磁盤空間,在你的臨時目錄中,但可讓您在攻擊期間在衆目睽睽這些,若是有必要重複單個請求,並將其發送到其餘Burp工具。 Make unmodified baseline request(未修改的基本請求) - 若是選擇此選項,那麼除了配置的攻擊請求,Burp會發出模板請求設置爲基值,全部有效載荷的位置。此請求將在結果表顯示爲項目# 0 。使用此選項頗有用,提供一個用來比較的攻擊響應基地的響應。 Use denial-of-service mode(使用拒絕服務的模式) - 若是選擇此選項,那麼攻擊會發出請求,如正常,但不會等待處理從服務器收到任何答覆。只要發出的每一個請求, TCP鏈接將被關閉。這個功能能夠被用來執行拒絕服務的應用層對脆弱的應用程序的攻擊,經過重複發送該啓動高負荷任務的服務器上,同時避免經過舉辦開放套接字等待服務器響應鎖定了本地資源的請求。 Store full payloads(保存完整的有效載荷) - 若是選擇此選項,Burp將存儲所有有效載荷值的結果。此選項會佔用額外的內存,但若是你想在運行時執行某些操做,如修改payload grep setting(有效負載值設置),或從新發出請求與修改請求模板可能須要。
Grep-Match
設置可用於包含在響應中指定的表達式標誌結果的項目。對於配置列表中的每一個項目,Burp會添加一個包含一個複選框,指出項目是否被髮如今每一個響應的新成果列。而後,您能夠到組排序此列(經過單擊列標題)匹配的結果相加。
使用此選項能夠是很是強大的,幫助分析大套的成績,並迅速找出有趣的項目。例如,在口令猜想攻擊,掃描短語,如「password incorrect(密碼不正確)」或「login successful(登陸成功)」,能夠找到成功登陸;在測試SQL注入漏洞,掃描含有「 ODBC 」 , 「error(錯誤)」等消息能夠識別易受攻擊的參數。
除了表達式匹配的列表,下列選項可用:
Match(匹配類型) - 指定的表達式是不是簡單的字符串或regular expressions(正則表達式)。 Case sensitive match(區分大小寫的匹配) - 指定檢查表達式是否應區分大小寫。 Exclude HTTP headers(不包括HTTP頭) - 指定的HTTP響應頭是否應被排除在檢查。
Grep-Extrack
能夠被用來Extrack(提取)從反應有用的信息進入攻擊結果的表。對於配置列表中的每一個項目,Burp會添加一個包含提取該項目的文本的新成果列。而後,您能夠排序此列(經過單擊列標題)命令所提取的數據。例如我要匹配
information_schema這個表。則能夠這樣寫,都是須要匹配惟一的那種,也能夠使用正則,前提是你會寫正則。在烏雲社區有人提起過當時怎麼匹配手機號,就能夠從這裏提取。
Grep-Payloads
設置可用於含有所提交的有效載荷的反射標誌的結果項。若是啓用該選項,Burp會添加一個包含一個複選框,指示當前負載的值是否被髮如今每一個響應的新成果列。 (若是使用一個以上的有效載荷,單獨的列將每一個有效載荷集加。 )
此功能能夠在檢測跨站點腳本和其餘應對注入漏洞,它能夠出如今用戶輸入動態地插入到應用程序的響應是有用的。
下列選項可用:
Case sensitive match(區分大小寫的匹配) - 指定檢查payload(負載)是否應區分大小寫。 Exclude HTTP headers(不包括HTTP頭) - 這指定的HTTP響應頭是否應被排除在檢查。 Match against pre-URL-encoded payloads(對預URL編碼的有效載荷匹配) - 這是正常的配置Inturder(入侵者)請求中URL編碼的有效載荷。然而,這些一般是由應用程序解碼,迴盪在他們的原始形式。您能夠使用此選項,以用於有效載荷Burp檢查反應在他們的預編碼形式。
Redirections
控制Burp在進行攻擊時如何處理重定向。它每每是要遵循重定向來實現你的攻擊目標。例如,在一個口令猜想攻擊,每一次嘗試的結果可能只能經過下面的重定向顯示。模糊測試的時候,相關的反饋可能只出如今最初的重定向響應後返回的錯誤消息。
下列選項可用: Follow redirections(跟隨重定向) - 控制重定向都遵循的目標。下列選項可用:
1)Never(歷來沒有) - 入侵者不會遵循任何重定向。 2)On-site only(現場惟一的) - 入侵者只會跟隨重定向到同一個網頁「網站」 ,即便用相同的主機,端口和協議的是在原始請求使用的URL 。 3)In-scope only(調查範圍內的惟一) - Intruder只會跟隨重定向到該套件範圍的目標範圍以內的URL 。 4)Always(老是) - Intruder將遵循重定向到任何任何URL 。您應使用此選項時應謹慎 - 偶爾, Web應用程序在中繼重定向到第三方的請求參數,並按照重定向你可能會不當心攻擊。
Process cookies in redirections(過程當中的Cookie重定向) - 若是選擇此選項,而後在重定向響應設置任何cookies將被當重定向目標以後從新提交。例如,若是你正在嘗試暴力破解登陸的挑戰就多是必要的,它老是返回一個重定向到一個頁面顯示登陸的結果,和一個新的會話響應每一個登陸嘗試建立。
Burp會跟進到10鏈重定向,若是必要的。在結果表中的列將顯示重定向是否其次爲每一個單獨的結果,以及完整的請求和響應中的重定向鏈存儲與每一個結果的項目。重定向的類型Burp會處理( 3xx的狀態碼,刷新頭,等)配置在一套全重定向選項。
注意重定向: 在某些狀況下,可能須要下面的重定向時只使用一個單線程的攻擊。出現這種狀況時,應用程序存儲會話中的初始請求的結果,並提供重定向響應時檢索此。
自動下重定向有時可能會形成問題 - 例如,若是應用程序響應一個重定向到註銷頁面的一些惡意的請求,那麼下面的重定向可能會致使您的會話被終止時,它本來不會這麼作。
Attacks
當你配置完你的攻擊設置時,你須要launch the attacks(發起攻擊),analyze the results(分析結果),有時修改攻擊配置,與您的測試工做流程連接,或進行其餘操做。
Launching an Attack
攻擊能夠經過兩種方式啓動:
1)您能夠配置Target(目標),Positions(位置),Payloads(有效載荷)和Options(選項卡)的攻擊設置,而後選擇從Intruder(入侵者)菜單「Start attack(開始攻擊)」。 2)您能夠經過從Intruder menu(入侵者菜單)中選擇「previously saved attack(打開保存的攻擊)」打開之前保存的攻擊。
在單獨的窗口中每次攻擊會打開。該窗口顯示攻擊爲它們生成的結果,使您可以修改攻擊配置實時,並與您的測試工做流程連接,或進行其餘操做。
Result Tab
在結果選項卡包含在攻擊發出的每一個請求的所有細節。你能夠過濾並標註此信息來幫助分析它,並使用它來驅動您的測試工做流程。
1)Results Table
Results Table顯示已在attack中全部的請求和響應的詳細信息。根據不一樣的攻擊配置,表可能包含如下幾列,其中一些是默認隱藏的,能夠使用Columns菜單 中取消隱藏:
request 請求數 Position 有效載荷位置編號 Payload 有效載荷 Status http狀態 Error 請求錯誤 Timeout 超時 Length 字節數 Comment 註釋
2)Display Filter
結果選項卡,能夠用來隱藏某些內容從視圖中,以使其更易於分析和對你感興趣的工做內容顯示過濾在結果表中。點擊過濾器欄打開要編輯的過濾器選項。該過濾器能夠基於如下屬性進行配置:
Search term(檢索詞) - [專業版]您能夠篩選反應是否不包含指定的搜索詞。您能夠設定搜索詞是不是一個文字字符串或正則表達式,以及是否區分大小寫。若是您選擇了「negative search(消極搜索)」選項,而後不匹配的搜索詞惟一的項目將被顯示。 Status code(狀態代碼) - 您能夠配置是否要顯示或隱藏各類HTTP狀態碼響應。 Annotation(註釋) - 您能夠設定是否顯示使用用戶提供的評論或只重點項目。在結果表中顯示的內容其實是一個視圖到基礎數據庫,並顯示過濾器控制什麼是包含在該視圖。若是設置一個過濾器,隱藏一些項目,這些都沒有被刪除,只是隱藏起來,若是你取消設置相關的過濾器將再次出現。這意味着您能夠使用篩選器來幫助您系統地研究一個大的結果集(例如,從模糊測試包含許多參數的要求)來理解各類不一樣的有趣的響應出現。
Attack configuration Tabs
在結果選項卡中,攻擊窗口包含每一個從它目前的攻擊是基於主界面的配置選項卡中的克隆。這使您可以查看和修改攻擊配置,同時進攻正在進行中。有關進一步詳情,請參閱各配置選項卡的幫助:目標職位有效載荷選項當修改一個跑動進攻的配置,如下幾點值得關注:攻擊結構的某些部分是基本的攻擊(如攻擊類型和有效載荷類型)的結構,而且攻擊已經開始以後不能改變。改變配置的某些部分攻擊正在運行時,可能會有意想不到的效果。
例如,若是您使用的是數量的有效載荷和編輯字段中,而後更改纔會生效,由於每一個鍵被按下;若是你最初從刪除數字字段中,那麼攻擊可能會忽然完成,由於要字段如今包含一個較小的數字。咱們強烈建議您暫停修改它們的配置運行前的攻擊。
Result Menus
結果視圖包含幾個菜單命令與控制的攻擊,並進行其餘操做。這些將在下面說明。
1)Attack Menu(攻擊菜單)
包含的命令pause(暫停),resume(繼續)或repeat(重複)攻擊。
2)Save Menu(保存菜單)
attack - 這是用來保存當前攻擊的副本,包括結果。保存的文件能夠使用從主Burp的UI Intruder菜單中的「打開保存的攻擊」選項來從新加載。 Results table - 這是用於對結果表保存爲一個文本文件。你能夠選擇保存的全部行,或僅選定的行。您也能夠選擇要包括的列,列分隔符。此功能是有用的導出結果到電子表格中,以便進一步分析,或用於保存單個列(如使用提取的grep函數挖掘數據),以用做用於隨後的攻擊或其它工具的輸入文件。 Server responses - 這是用於保存收到的全部請求的所有應答。這些既能夠被保存在單獨的文件中(順序編號)或串行級聯的序列轉換成一個單一的文件。 Attack configuration - 這是用來保存當前正在執行攻擊的配置(而不是結果)。您能夠從新使用從主Burp的UI Intruder菜單中的「加載配置攻擊」選項,攻擊配置。
3)Columns Menu(列菜單)
這使您能夠選擇哪些可用的列是可見的攻擊結果表。
Repeater
Burp Repeater(中繼器)是用於手動操做和補發個別HTTP請求,並分析應用程序的響應一個簡單的工具。您能夠發送一個內部請求從Burp任何地方到Repeater(中繼器),修改請求而且發送它。
Using Burp Repeater
您能夠使用中繼器用於各類目的,如改變參數值來測試輸入爲基礎的漏洞,發出以特定的順序要求,以測試邏輯缺陷,並能夠屢次重發從Burp Scanning results(掃描結果)的要求手動驗證報告的問題。
For example:
1)能夠從Proxy history、site map、Scanner result裏地項目地址詳情發送到repeater,能夠對頁面數據進行修改。 2)點擊go,發送請求,右邊響應請求。 3)能夠經過「<「和」>「來返回上一次和下一個操做。 4)單擊」x「能夠刪除當前測試請求頁面,.....表示打開新的標籤頁 5)底部的功能用於搜索條件,能夠用正則表達式,底部右邊顯示匹配結果數
Issuing Requests
主中繼器的用戶界面可以讓您在多個不一樣的請求同時工做,每個在它本身的標籤。當你發送請求到中繼器,每一件都是在本身的編號標籤打開。
每一個選項卡都包含如下項目:
控制發出請求,而後瀏覽請求的歷史。目標服務器的請求將被髮送顯示 - 你能夠點擊目標細節來改變這些。
HTTP消息中包含的編輯器將發出的請求。您能夠編輯該請求,並一遍又一遍地從新發布它。
HTTP消息編輯器,顯示從上次發出的請求接收到的響應。
開始與中繼器工做的最簡單的方法是選擇要在另外一個burp工具(如Proxy history或site map)工做的要求,並在上下文菜單中使用「Send to Repeater(發送到轉發器)」選項。這將在中繼器建立一個新的請求選項卡,並自動填充目標細節和請求消息的編輯器相關的細節。而後,您能夠修改併發出所需的要求。當你的要求準備好發送,點擊「go(轉到)」按鈕,將其發送到服務器。當這個被接收時,與響應長度和一個計時器(以毫秒爲單位)一塊兒被顯示的響應。您能夠使用一般的HTTP消息的編輯功能,以幫助分析請求和響應消息,並開展進一步的行動。
Request History
每一箇中繼器選項卡維護其自身已在它的請求的歷史。您能夠點擊「 <」和「 > 」按鈕來向前和向後導航這段歷史,並查看每一個請求和響應。您也能夠使用下拉按鈕以顯示歷史相鄰項的編號列表,並迅速轉移給他們。在歷史上的任什麼時候候,你能夠編輯和從新發布當前顯示的請求。
Repeater Options
Burp Repeater具備控制其行爲的各類選項,包括自動更新的Content- Length頭的,拆包的壓縮內容,和重定向的下面。你能夠經過Repeater(中繼器)菜單訪問這些選項。
Managing Request Tabs
您能夠輕鬆地管理Repeater的request(請求)選項卡。您能夠:
經過雙擊該選項卡頭重命名標籤。
經過拖動從新排列標籤。
經過單擊最右側的「...」選項卡上打開一個新的標籤。
關閉選項卡單擊該選項卡標題中的X按鈕。
Options
直放站菜單控制的burpRepeater的行爲方面。下列選項可用:
Update Content-length
該選項控制Burp是否自動更新的要求在必要的Content-Length頭。使用這個選項一般是必不可少的,當請求消息中包含一個身體。
Unpack gzip/deflate
該選項控制Burp是否自動解壓縮在收到的答覆的gzip和deflate壓縮內容。
Follow redirections
此設置控制是否重定向響應會被自動執行。下列選項可用:
1)Never - 中繼器將不會跟隨任何重定向。 2)On-site only - 中繼器將只跟隨重定向到同一個網頁「site」,即便用相同的主機,端口和協議的是在原始請求使用的URL。 3)In-scope Only - 中繼器將只跟隨重定向到該套件範圍的目標範圍以內的URL。 4)Always - 中繼器將跟隨重定向到任何URL任何責任。您應使用此選項時應謹慎 - 偶爾,Web應用程序在中繼重定向到第三方的請求參數,並按照重定向你可能會不當心攻擊你不想要的。
Process cookies in redirections
若是選擇此選項,而後在重定向響應設置任何cookies將被當重定向目標以後從新提交。
View
此子菜單容許您配置了請求/響應面板的佈局。您能夠在頂部/底部,左/右拉開,或在選項卡中查看HTTP消息。
Action
此子菜單包含相同的選項,可在經過請求和響應消息編輯器的上下文菜單。
Sequencer
Burp Sequencer是一種用於分析數據項的一個樣本中的隨機性質量的工具。你能夠用它來測試應用程序的session tokens(會話tokens)或其餘重要數據項的本意是不可預測的,好比反彈CSRFtokens,密碼重置tokens等。
Using Burp Sequencer
Burp Sequencer是一種用於分析在應用程序的會話tokens,而且意圖是不可預測的其餘重要數據項的隨機性質量的工具。
使用Sequencer可能會致使在某些應用中意想不到的效果。直到你徹底熟悉它的功能和設置,你應該只使用Burp Sequencer對非生產系統。
要開始去了解Burp Sequencer,執行如下步驟:
1)首先,確保Burp已安裝並運行,您已配置您的瀏覽器Burp的工做,而且您已經瀏覽你的目標應用程序來填充你的代理服務器的歷史。 2)發現發出會話tokens或其餘相似的項目,不管是在Set-Cookie頭,在一個表單域,或其餘地方的代理史上的一個迴應。使用上下文菜單中發送的內容到Sequencer。 3)轉到Sequencer選項卡,而後再選擇「live capture(現場捕獲請求)」,選擇你剛纔發送的項目。
4)在「Token Location Within Response(tokens位置在迴應)」部分,選擇在tokens出現的響應的位置。若是標記出如今自定義位置(即不是在一個Set-Cookie頭或表單域) ,而後選擇「Custon location(自定義位置)」選項,而後在對話框中,選擇響應tokens,而後單擊「肯定」 。
5)在「Select live Captrue Request(選擇現場捕獲請求)」部分中,單擊「Start live capture(開始實時捕獲)」按鈕。這將致使Burp反覆發出原始請求,並extract(提取)全部在響應收到的tokens。實時捕獲會話打開一個新窗口,顯示捕獲的進度,並已得到的tokens數量。當幾百tokens已得到,暫停實時捕獲會話,而後單擊「Analyze now(當即分析)」按鈕。 6)當分析完成後,會顯示出隨機性測試的結果。這代表樣品中總體摘要,並附有詳細的結果爲每種類型進行了測試。有簡短的文檔,結果本身在每一個測試。在某些狀況下,你可能已經得到tokens的一個合適的樣本。您能夠手動加載此樣品爲Sequnecer,並執行相同的分析。要作到這一點,在主burp的UI ,轉到序選項卡,而後手動加載子選項卡。您能夠從剪貼板粘貼標記,或從文件中加載它們,並使用「Analyze now(當即分析)」按鈕,開始裝載樣品的分析。
Randomness Tests
Burp Sequencer採用標準統計測試的隨機性。這些都是基於對測試的證據試樣的假設,並計算髮生的觀測數據的機率,假設該假說是真實的原則:
Character-Level Analysis
字符級測試在其原始形式tokens的每一個字符位置進行操做。首先,字符設置在每一個位置的大小進行計數- 這是出如今每一個位置上的取樣數據中的不一樣的字符的數目。而後,下面的測試是使用此信息來進行:
Character count analysis - 此測試可分析tokens內使用在各位置中的字符分配。若是樣品是隨機生成的,所用的字符的分佈多是近似均勻的。在每一個位置上,該測試計算,若是tokens是隨機產生所觀察到的分佈的機率。
Character transition analysis - 此測試可分析樣品中的連續符號之間的轉換。若是樣品是隨機生成的,一個字符出如今一個給定的位置,一樣可能被隨後的下一個標記由一個用於在該位置上的字符中的任何一個。在每一個位置上,該測試計算,若是tokens是隨機產生的觀察到的轉換的機率。
基於上述試驗,character-level analysis(字符級分析)計算總體分數,每一個字符位置 - 這是在每一個位置由每一個字符級測試的計算的最低機率。分析而後計數的有效熵各類顯着性水平的位的數目。根據它的字符集的大小,每一個位置被分配一個號碼的比特(若是有4個字符,3位,若是有8個字符等2位),而且比特的總數等於或高於每顯着性水平進行計算。
Bit-Level Analysis
Bit-level test(位級測試)是比字符級測試功能更強大。啓用位級的分析,每一個tokens被轉換成一組比特,與由字符集的每一個字符位置的大小來肯定的比特的總數。若是任何職位聘用,其大小不是2的圓形電源的字符集,在該位置的樣本數據被轉換成其大小是兩個最接近的較小的圓形電源的字符集。在該位置的數據的部分比特被有效地合併成從該位置所產生的所有位。這個翻譯是在被設計爲保留原始樣本的隨機性特色,不會引入或移除任何偏見的方式進行。然而,這種類型的沒有進程能夠是完美的,它極可能與分析非圓字符集大小的樣本將介紹一些不許確到分析結果的過程。當每一個tokens已被轉換成一個比特序列,下面的測試是在每一個位的位置進行:
FIPS monobit test - 此測試分析的1和0的每一個位的位置分佈。若是樣品是隨機產生的,1和0中的數量極可能是近似相等的。在每一個位置上測試計算,若是tokens是隨機產生所觀察到的分佈的機率。對於每個進行的,除了報告中出現的觀測數據的機率FIPS測試,Burp Sequncer也記錄是否每一位經過或失敗的FIPS測試。請注意,經過FIPS標準從新調整Burp Sequencer內任意樣本量的工做,而正式規範的FIPS測試假定剛好20,000tokens的樣本。所以,若是你但願獲得的結果是嚴格符合FIPS規範,你應該確保你使用的20,000tokens的樣本。
FIPS poker test - 該測試將所述位序列中的每個位置轉換成的四個連續的,非重疊的組,並導出一個4位的數量從每一個組。而後計算每一個出現16個可能的數字的數,並進行卡方計算來評估這樣的分佈。若是樣品是隨機生成的,四比特數的分佈多是近似均勻的。在每一個位置上,該測試計算,若是tokens是隨機產生所觀察到的分佈的機率。
FIPS runs tests - 該測試將所述位序列中的每個位置轉換成連續的位具備相同值的運行。而後計算試驗次數爲1,2,3,4,5,和6及以上的長度。若是樣品是隨機生成的,運行與每一個這些長度的數量極可能是由樣本集的大小所肯定的範圍以內。在每一個位置上,該測試計算髮生,若是tokens是隨機觀察到的運行的機率。
FIPS long runs test - 這個測試測量位在每一個位的位置值相同的最長運行。若是樣品是隨機生成的,最長的運行極可能是由樣本集的大小所肯定的範圍以內。在每一個位置上,該測試計算,若是tokens是隨機產生所觀察到的最長的機率。須要注意的是符合FIPS規範這個測試僅記錄失敗,若是位的最長過於漫長。然而,位過於短最長也代表,樣品是否是隨機的。所以,某些位可能錄得顯着性水平是低於FIPS傳遞,即便他們沒有嚴格失敗的FIPS檢驗水平。
Spectral tests - 該測試執行在每一個位置上的比特序列的複雜的分析,並可以識別非隨機性的證據代表,經過其餘的統計測試的一些樣品中。測試工程經過比特序列以及將每一個系列的連續的數字做爲一個多維空間的座標。它繪出的點在此空間由這些座標來肯定每一個位置。若是樣品是隨機生成的,點此空間內的分佈多是大體均勻;在該空間內聯網的外觀表示該數據極可能是不隨機的。在每一個位置,測試,計算所觀察到的分佈存在的,若是tokens是隨機的機率。該試驗重複進行多種尺寸的數目(1〜8位)和用於多個號碼的尺寸(2至6)。
Correlation test - 其餘各個位級測試工做在採樣tokens中的各個位的位置,因此隨機性的每一個位的位置量計算隔離。僅執行這種類型的測試將防止隨機性的tokens做爲一個總體金額的任何有意義的評估:包含在每一個位置相同的位值標記的樣本可能會出現含有比含有不一樣的值更短的標記的樣品更多的熵在每一個位置上。所以,有必要以測試在tokens內的不一樣的位位置中的值之間的任何統計學顯著關係。若是樣品是隨機生成的,在給定的比特位置處的值是一樣可能伴隨着一個或一個零在任何其它位的位置。在每一個位置上,這個測試與計算在出現的其餘位置位觀察,若是tokens是隨機的關係的可能性。爲了防止任意的結果,當兩個比特之間觀察到必定程度的相關性,該測試調整,其顯着性水平下是基於全部其餘位級測試的位的顯着性水平。
Compressoion test - 其餘各個位級測試工做在採樣tokens中的各個位的位置,因此隨機性的每一個位的位置量計算隔離。僅執行這種類型的測試將防止隨機性的tokens做爲一個總體金額的任何有意義的評估:包含在每一個位置相同的位值標記的樣本可能會出現含有比含有不一樣的值更短的標記的樣品更多的熵在每一個位置上。所以,有必要以測試在tokens內的不一樣的位位置中的值之間的任何統計學顯著關係。若是樣品是隨機生成的,在給定的比特位置處的值是一樣可能伴隨着一個或一個零在任何其它位的位置。在每一個位置上,這個測試與計算在出現的其餘位置位觀察,若是tokens是隨機的關係的可能性。爲了防止任意的結果,當兩個比特之間觀察到必定程度的相關性,該測試調整,其顯着性水平下是基於全部其餘位級測試的位的顯着性水平。
Samples
在一個應用程序的令牌進行隨機試驗中,首先有必要得到這些令牌的合適的樣品。這能夠經過兩種方式來完成:經過直接從目標進行標記的自動live capture(實時捕捉),或經過Manually loading(手動加載)令牌,你已經取得的樣本。
Live Capture
要進行live capture(實時捕捉),你須要找到一個返回響應的地方,你要分析的session token(會話令牌)或其餘項目的目標應用程序中的請求。您能夠選擇在任何地方Burp的請求,而後從上下文菜單中選擇「Send to sequencer(發送到音序器)」選項作到這一點。須要對這個請求來配置實況採集的步驟以下所述。
i)Select Live Capture Request - 實時捕獲請求列表中顯示已發送到音序器從其餘burp工具的要求。選擇返回你想要分析的標記或其餘項目的要求。
ii)Token Location Within Response - 選擇令牌出現的應用程序的響應中的位置。
下列選項可用:
cookie - 若是響應設置的任何cookie,這個選項可讓你選擇一個cookie來分析。這是經過會話令牌給客戶的最經常使用方法。 Form field - 若是響應包含任何HTML表單字段,這個選項可讓你選擇一個表單字段的值來分析。這種方法一般用於發送反CSRF令牌和其它每頁令牌提供給客戶。 Custom location - 您能夠使用此選項來包含要分析的數據的響應中指定一個特定的自定義位置。這是經過使用響應提取規則對話框。
iii)Live Capture Options
這些設置控制用於執行實時捕捉時發出HTTP請求和收穫令牌發動機。下列選項可用:
number of threads(執行緒數目) - 此選項控制併發請求數的實時捕捉,卻能夠使。 Throttle between requests(請求之間的節流)- 可選的,實時捕捉每個能夠請求以前等待一個指定的延遲(以毫秒爲單位)。此選項頗有用,以免超載應用程序,或者是更隱蔽。 Ignore token whose length deviates by x characters忽略令牌,其長度誤差的X字符- 您能夠選擇配置的實時捕捉忽略的令牌,其長度與平均長度令牌偏離給定的閾值。這多是有用的,若是應用程序偶爾會返回一個包含在令牌一般出現的位置不一樣項目的異常反應。
vi)Running the Live Capture
當你已經徹底配置的live Capture(實時捕捉),點擊「開始實時捕獲」按鈕開始實時捕捉。burp序會反覆發出您的請求,並從應用程序的響應提取相關的令牌。在實時捕捉,一個進度條顯示,有令牌,請求和網絡錯誤次數的計數器。下列選項可用:
Pause/resume(暫停/恢復) - 這將暫時停頓,而後繼續,捕捉。 Stop(中止) - 這會永久中止捕獲。副本令牌 - 這會將當前拍攝的令牌到剪貼板,以便在其餘burp攻擊(如入侵者有效載荷)或工具的使用。 Save tokens(保存tokens) - 這節省了當前拍攝的令牌文件。 Auto-analyze(自動分析) - 若是啓用此選項,burp就會自動進行標記分析,並按期更新結果現場採集過程當中。 Analyze now(如今分析) - 這是時可用最少100令牌已被抓獲,並致使burp,分析當前採樣和更新的結果。
Manual load
此功能容許你加載Sequencer與您已得到令牌的樣本,而後進行統計分析的樣本。
要執行手動負載,您首先須要經過一些手段,好比你本身的腳本或從較早的live captrue實時捕捉,輸出,或Intruder attack,以得到本身的目標應用程序令牌的樣本。令牌須要在一個簡單的換行符分隔的文本格式。
使用粘貼按鈕,從剪貼板粘貼,或Load按鈕的標記,從文件中加載它們。加載令牌,再加上最短和最長長度的詳細狀況,將顯示您感,檢查樣品已正確裝入。
要執行加載令牌的分析,請單擊「analyze now(當即分析)」按鈕。
Analysis Options
在「analysis options(分析選項)」選項卡容許您配置如何Token Handled,並在分析過程當中都進行哪些類型的測試。
Token handling
令牌過程當中如何分析處理這些設置控制。下列選項可用:
Pad short tokens at start/end(墊短令牌在開始/結束) - 若是由應用程序產生的標記具備可變長度,這將須要被填充,以使將要進行的統計檢驗。您能夠選擇是否填充應在開始或每一個標記的結尾被應用。在大多數狀況下,填充令牌在開始是最合適的。 Pad with(墊) - 您能夠指定將用於填充字符。在大多數狀況下,對於數字或ASCII十六進制編碼的令牌,填充與「0」字符是最合適的。 Base64-decode before analyzing(base64解碼分析以前) - 若是令牌是Base64編碼,能夠配置Burp分析,這將廣泛提升在編碼分析以前的準確度。
Token Analysis
這些選項控制所執行分析的類型。您能夠單獨啓用或禁用每種類型的字符級和位級測試。有時候,啓用全部測試進行了初步分析後,您可能須要禁用某些測試,以反映您更好的瞭解所標記的特色,或以隔離受您的樣品表現任何不尋常的特性的影響。
在結果窗口中,修改任何的分析選項後,您能夠點擊「重作分析」按鈕,您的新設置從新進行了分析,並更新結果。
Result
Summary
summary選項卡是看得到有關隨機性樣品中的程度的整體結論首位。它包括一個圖表,顯示的有效熵以上各顯着性水平的位的數目。這提供了一個直觀的判決用來傳遞隨機性測試不一樣的可能顯着性水平的位的數目。
該標籤還報告告終果的可靠性的估計值,是根據樣本的數量。
Character-level analysis
人物層次的分析選項卡顯示全部字符級測試結果摘要,並讓您深刻到每一個字符級測試的細節。它也包含圖表顯示的字符集在每一個位置的大小,而且熵的比特能夠從每一個字符位置來提供的最大數量。
注意,字符級測試是不可靠的,若是所採用的字符集的大小過大相對於樣本的數目。例如,若是一個令牌採用了64個不一樣的字符在每一個位置,你只捕獲100個樣品,還有隔靴搔癢的樣本數據得出關於角色分配的任何可靠的結論。出於這個緣由,當存在的不可靠的結果的危險,burp序將自動禁止字符級測試,以防止破壞總體合併結果從分析的字符級的結果。
Bit-level analysis
該位層次的分析選項卡中顯示了全部位級的測試結果摘要,並讓您深刻到每個位級測試的細節。這可讓你得到樣品的性能有更深的瞭解,找出任何異常的緣由,並評估令牌預測的可能性。
還有一個圖表,顯示位貢獻的令牌中的每個字符的位置的數目。這將使你的令牌中交叉引用各個位回到原來的字符位置,若是你須要。
Analysisi options
分析選項卡顯示已配置的分析的選項。若是須要從新進行分析,您能夠修改這些。
Decoder
Burp Decoder是一種用於將編碼數據歸入其規範形式,或將原始數據轉換成各類編碼和哈希表的簡單工具。它可以智能地識別多種編碼格式採用啓發式技術。
Loading Raw Data
您能夠將數據加載到解碼器在兩個方面:
鍵入或直接粘貼到頂部編輯器面板。
選擇數據中burp的任何位置,而後從上下文菜單中選擇「發送到解碼器」。
您能夠使用「文本」和「十六進制」按鈕來切換編輯器的類型來對數據使用。
Transformations
轉換不一樣的變換能夠應用到的數據的不一樣部分。下面的解碼和編碼操做可用:
1)Url 2)HTMLBase64 3)十六進制 4)ASCII碼 5)八進制 6)二進制 7)GZIP等
各類經常使用的散列函數是可用的,取決於你的Java平臺的功能。
Working manually
要進行手動解碼和編碼,使用下拉列表選擇所需的變革。所選擇的轉型將被應用到選定數據,或整個數據若是沒有被選中。
Smart decoding
在解碼器內的任何面板,您能夠點擊「智能解碼」按鈕。而後Burp將試圖經過尋找出如今可識別的格式,例如URL編碼或HTML編碼要編碼的數據來智能地解碼該面板的內容。遞歸執行這個動做,一直持續到沒有進一步的識別的數據格式檢測。這個選項能夠是一個有用的第一步,當你已經肯定了一些不透明的數據,並想快速瀏覽一下,看看是否能夠很容易地解碼成更容易識別的形式。應用到數據的每一個部分的解碼是使用一般的着色表示。由於Burp解碼器,使一個「最佳猜想」嘗試識別一些常見的編碼格式,它有時會犯錯誤。發生這種狀況時,你能夠很容易地看到全部參與解碼的階段,及已被應用在每一個位置上的轉變。使用手動控制則能夠手動修復任何不正確的轉換和手動或巧妙繼續解碼從這點。
Comparer
Burp的Comparer是執行任何兩項數據之間的比較(視覺「diff(差別)」)一個簡單的工具。對Burp的Comparer一些常見用途以下:
當尋找的用戶名枚舉的條件下,您能夠使用有效和無效的用戶名比較響應登陸失敗,尋找在反應細微的差異。
當Intruder襲擊已致使不一樣長度的比基反應一些很是大的反應,你能夠比較這些很快看到那裏的分歧所在。
當comparing的site maps或經過不一樣類型的用戶生成的Proxy history條目,你能夠比較對相似的要求,看看那裏的不一樣之處在於,爲不一樣的應用程序行爲引發的。
當測試使用布爾條件注射和其餘相似的測試盲目SQL注入漏洞,你能夠比較兩個反應,看是否注射不一樣的條件已致使響應的相關差別。
Loading Raw Data
您能夠將數據加載到comparer對如下方式:
它直接粘貼造成剪貼板。 從文件中加載它。 選擇數據中burp的任何位置,而後從上下文菜單中選擇「發送到的Comparer」。
Performing Comparisons
加載數據的每一個項目顯示爲兩個相同的列表。要進行比較,從每一個列表中選擇其餘項目,並單擊其中的「comparsions」按鈕之一:
Word compare(字比較) - 這種比較tokenizes根據空格分隔每一個數據項,並肯定了改造的第一個項目進入第二所需的標記級別的編輯。當在單詞層面存在被比較項之間的有趣的差別,例如,在含有不一樣含量的HTML文檔,是最有用的。
Byte compare(字節比較) - 這種比較肯定改造的第一個項目進入第二所需的字節級的編輯。當在字節水平存在比較項之間的有趣的差異,好比在包含在一個特定的參數或cookie值稍有不一樣值的HTTP請求,這是最有用的。注意:該字節級的比較是至關多的計算密集的,而且當一個字級別的比較失敗,以肯定在一個信息道的相關的差別一般應該只使用這個選項。當您啓動一個比較,會出現一個新窗口,顯示比較的結果。該窗口的標題欄顯示的差別(即編輯)這兩個項目之間的總數。在兩個主面板顯示項目相比彩色化來表示每一個修改,刪除和改造的第一個項目進入第二所需的加法。你能夠在文本或十六進制形式查看每一個項目。選擇「sync views(同步視圖)」選項能夠使您同時滾動兩個小組等快速找出在大多數狀況下有趣的編輯。
Extender
Using Burp extender
要使用Burp extender功能,須要一下幾個步驟:
1.首先必需要有java環境 2.在Burp extensions 下單擊add添加
3.選擇查找.jar後綴插件,點擊肯定以後下一步就是安裝了 4.安裝好了會提示安裝成功,而且在以下圖中顯示
5.若是是python擴展的話須要先到options中配置好python環境而且安裝jython環境
Loading and managing extensions
下表顯示了全部已安裝的擴展名列表。您能夠添加,刪除和使用按鈕的擴展表從新排序的擴展。請注意:
該擴展名的顯示順序是,其中的任何註冊的偵聽器和其餘推廣資源將被調用的順序。
擴展能夠卸載,但保留在表中,以便可以方便重裝稍後time.To切換擴展的負載狀態,而不從列表中刪除它,在「loaded」欄或擴展詳細信息面板中單擊該複選框。注意:您能夠快速從新按Ctrl +單擊「loaded」複選框的延伸。這將卸載並從新加載該擴展名,而不顯示確認對話框。
要運行用Python編寫的擴展,你首先須要配置Jython的獨立JAR的位置,在Python環境選項。
Extension details
選擇在擴展表中的項目顯示在下部面板的擴展信息。詳細信息選項卡顯示如下信息:不管是擴展當前加載的。您能夠點擊複選框,加載或卸載選定的擴展。擴展名。擴展能夠經過編程設置其顯示在用戶界面中本身喜歡的名字。您能夠手動編輯,若是須要此名稱。擴展( Java或Python)的類型。從中加載該擴展名的文件。的方法,聽衆,並在由擴展使用其餘資源的詳細信息。輸出選項卡包含擴展的標準輸出流的細節,以及錯誤選項卡包含有關標準錯誤流相同的信息。爲每一個數據流,能夠配置應用程序的輸出是否應該被定向到系統控制檯,或者保存到文件中,或者在UI中顯示出來。請注意:寫法基於UI的輸出窗口有大小限制,不適合用於重型記錄。擴展是負責指導他們的輸出和錯誤消息,其中burp已經分配給他們正確的數據流,並經過擴展API的編程可用。擴展不遵照這個能夠直接直接輸出到系統控制檯,不管在這裏具體肯定的設置。
Burp extender apis
此選項卡包含可用於建立Burp extensions API的細節。該列表顯示,可在Burpk運行版本的API。從列表中選擇一個接口的名稱,顯示界面代碼所有。
您還能夠使用「save interface files(另存接口文件)」和「save javadoc(保存Javadoc文件)」按鈕來保存這些文件的本地副本,用於開發擴展的時候。
Options
Settings
此設置控制啓動時Burp是如何處理擴展。當Burp啓動時,它會自動恢復可擴展的配置清單。若是選擇此選項,Burp也將自動嘗試從新加載列表中的該被裝在其發生時Burp是關閉任何擴展。
Java Environment
設置容許您配置環境執行的是用Java編寫的擴展。若是您的擴展使用任何庫,你能夠指定哪些庫將被加載的文件夾。burp會搜索這個文件夾中的任何JAR文件,而且將在用於加載Java擴展類加載器的類路徑中包括這些。
Python Environment
設置容許您配置環境執行的是用Python編寫的擴展。使用Python擴展,您將須要下載的Jython ,這是Java實現的Python解釋器。下列選項可用:在Jython的獨立JAR文件的位置 - 這是您已下載的Jython的位置。你必須下載的Jython的獨立版本。文件夾中加載的模塊 - 此設置是可選的,能夠用來指定從哪一個Python解釋器應該嘗試加載所須要的您的擴展模塊的文件夾。若是配置,此選項會致使Burp來更新指定的位置了Python的sys.path變量。若是您已經建立了本身的一套Python庫在多個單獨的擴展使用使用此選項頗有用。
注意:因爲在Jython中動態生成Java類的方式,您可能會遇到內存問題,若是你加載多個不一樣的Python擴展,或者若是你卸載並重裝一個Python擴展屢次。若是發生這種狀況,你會看到一個這樣的錯誤:java.lang.OutOfMemoryError: PermGen space
You can avoid this problem by configuring Java to allocate more PermGen storage, by adding a -XX:MaxPermSize option to the command line when starting Burp.
例如:java -XX:MaxPermSize=1G -jar burp.jar
Ruby Environment
設置容許您配置環境執行的是用Ruby編寫的擴展。使用Ruby的擴展,你須要下載的JRuby,這是Java實現的Ruby解釋器。請注意,您能夠在這裏配置JRuby的JAR文件的位置,或者您也能夠經過Java類路徑在啓動時加載的JAR文件。
Suite Options
Burp含有大量的影響的全部工具的行爲套房範圍的選項。
有以下選項:
Connections
此選項卡包含設置來控制Burp platform authentication,upstream proxy servers,SOCKS代理,timeouts,hostname resolution,以及範圍外的要求。
platform authentication
設置容許您配置Burp platform authentication(平臺自動)驗證到目標Web服務器。不一樣的認證方式和認證能夠配置爲單個主機。
支持的認證類型有:Basic(基本的),NTLMv1,NTLMv2身份驗證和摘要驗證。域和主機名信息僅用於NTLM身份驗證。
在「Prompt for credentials on platform authentication failure(提示平臺上認證失敗憑據)」選項會致使Burp顯示交互式彈出每當身份驗證失敗時遇到的問題。
Upstream Proxy Servers
設置控制Burp是否會向外發送請求到Upstream Proxy Servers,或者直接到目標Web服務器。
您能夠定義多個規則,指定不一樣的目標主機或主機組不一樣的代理服務器設置。規則的應用順序,而目標Web服務器相匹配的第一條規則將被使用。若是沒有規則匹配,burp默認爲直接的,非代理鏈接。
您能夠在目標主機規範中使用通配符(*匹配零個或多個字符,而?除了點匹配任何字符)。將全部流量到一個單一的代理服務器,建立一個規則*爲目的主機。離開代理主機空白直接鏈接到指定的主機。
對於您配置的每一個上游代理服務器,若是須要,能夠指定認證方式和認證。支持的認證類型有:基本的,NTLMv1,NTLMv2身份驗證和摘要驗證。域和主機名信息僅用於NTLM身份驗證。
Socks Proxy
設置容許您配置Burp使用SOCKS代理的全部傳出的通訊。此設置是應用在TCP層,全部出站請求都將經過這個代理髮送。
若是您已經爲上游HTTP代理服務器配置的規則,而後請求到上游代理服務器將經過這裏配置的SOCKS代理髮送。
若是「DNS查詢在SOCKS代理」啓用該選項,則全部的域名將由代理解決。沒有本地查詢將被執行。
Timeouts
設置指定要用於各類網絡任務的超時。您能夠指定如下超時:
Normal(正常) - 此設置適用於大多數網絡通訊,並肯定長期burp怎麼會放棄已經發生了超時的請求,並記錄以前等待。 Open-ended responses(開放式的迴應) - 此設置僅用於須要響應不包含內容長度或傳輸編碼的HTTP標頭被處理的。在這種狀況下,burp肯定該傳輸已經完成以前,等待指定的時間間隔。 Domin name resoolution(域名解析) - 此設置肯定如何常常burp會從新執行成功的域名查找窗口。這應該被設置爲一個適當的低的值,若是目標主機地址被頻繁地改變。 Failed domain name resolution(失敗的域名解析) - 此設置肯定burp多久將從新嘗試不成功的域名查找窗口。 值以秒爲單位。若是選項是空白的,而後burp永遠不會超時的功能。
Hostname Resolution
設置使您能夠指定主機名映射到IP地址,來覆蓋你的電腦所提供的DNS解析。
每一個主機名解析規則指定一個主機名,並應與該主機名關聯的IP地址。規則能夠單獨啓用或禁用。
這個功能多是有用的,以確保請求的正確前進轉發時,hosts文件已被修改成從非代理感知厚客戶端組件進行流量的不可見的代理。
Out-of-Scope Request
可用於防止Burp從發行任何超出範圍的要求。當你須要保證沒有請求作出不在範圍的爲你目前的工做目標,它能夠是有用的。即便你的瀏覽器使得對於超出範圍的項目要求,即將卸任的請求將經過Burp被丟棄。
您能夠啓用此功能爲當前目標範圍。或者,您能夠使用URL匹配規則定義自定義範圍。
HTTP
Redirections
設置控制重定向的類型的Burp會在它被配置爲跟隨重定向的狀況下理解。
能夠選擇重定向的種類以下:
1)3xx status code with location header 2)refresh header 3)meta refresh tag 4)JavaScript driven 5)與Location標頭的任何狀態碼
注意,Burp在如下重定向到特定的目標行爲是由每一個單獨的Burp工具內設置(例如,根據目標範圍內)來肯定。
Streaming Responses
能夠告知Burp哪些URL返回「流媒體」的反應,這不終止。而後Burp會不一樣於正常的反應處理這些反應。流式反應一般用於像不斷更新,現申請價格數據的功能。
Status 100 Responses
控制Burp處理與狀態100的HTTP響應的方式。當一個POST請求發送到服務器,這些反應常發生的,它使一個臨時的響應請求體已被髮送以前。
下面的設置:
understand 100 continue response(瞭解100繼續響應) - 若是選中此選項,Burp會跳過中期響應和解析真正的響應頭像狀態代碼和內容類型的響應信息。
Remove 100 continue headers除去100繼續頭 - 若是選中此選項,Burp會在此以前被傳遞到單獨的工具從服務器的響應中刪除任何中期頭部。
SSL Negotiation
有時候,你可能有困難的談判與某些Web服務器的SSL鏈接。 Java的SSL協議棧包含了幾個小鬼,和失敗與某些不尋常的服務器配置工做。爲了幫助您解決這個問題,Burp,您能夠指定哪些協議和密碼應該在SSL協商提供給服務器。下面的其餘選項可用:自動選擇對談判失敗兼容SSL參數 - 若是啓用此選項,那麼當Burp失敗時使用配置的協議和密碼進行談判的SSL ,它會探測服務器,試圖創建是由雙方支持一組兼容的SSL參數服務器和Java 。若是找到兼容的參數,Burp緩存此信息,並使用在第一個實例中的參數具備相同的服務器將來的談判。這個選項一般是可取的,可避免須要解決SSL問題,並嘗試使用協議和密碼。啓用阻止Java安全策略的算法 - 從Java 7的, Java安全策略能夠被用來從SSL協商被用於阻止某些過期的算法,以及其中的一些默認狀況下(如MD2 )受阻。現場許多Web服務器都使用這些過期的算法, SSL證書,它是不可能使用默認的Java安全策略來鏈接到這些服務器。啓用此選項容許Burp在鏈接到受影響的服務器時使用過期的算法。對此選項的更改纔會生效當您從新啓動Burp。容許不安全的SSL從新協商 - 此選項可能會使用一些客戶端的SSL證書時,或試圖周圍其餘的SSL問題的工做是必要的。
SSL
Client SSL Certificates
容許您配置客戶端SSL證書,當目標主機申請一個Burp會使用。您能夠配置多個證書,並指定每一個證書應使用的主機。當主機請求的客戶端SSL證書,Burp會在列表中的主機配置匹配被鏈接的主機的名稱中使用的第一個證書。您能夠在目標主機規範中使用通配符( 匹配零個或多個字符,而?除了點匹配任何字符) 。要使用一個證書,每當任何主機請求之一,使用做爲目標主機。客戶端證書支持如下類型:文件( PKCS # 12 ) - 你將須要配置的證書文件的位置和密碼的證書。硬件令牌或智能卡( PKCS # 11 ) - 你將須要配置PKCS#11庫文件的位置,爲您的設備,您的PIN碼,而後選擇從那些可用的證書。該PKCS#11庫文件是用軟件爲您的設備安裝的本機代碼文件。在Windows上,Burp能夠自動搜索常見位置找到您所安裝的庫文件。
Server SSL Certificates
此信息僅面板包含從Web服務器接收到的全部的X509證書的詳細信息。雙擊表格中的項目,以顯示該證書的完整細節。
Session
此選項卡包含的設置session handing rules,the cookie jar,and macros。
Session Handling Challenges
當執行任何類型的Web應用程序的測試,你可能會遇到與會話處理和地區的挑戰。
例如:該應用程序可終止被用於測試會話,不管是防守仍是其餘緣由,使後續的請求是無效的,直到會話恢復。某些功能可能使用改變必須與每一個請求(例如,妨礙請求僞造攻擊)提供的令牌。某些功能可能須要一系列的要求被測試前,做出其餘的請求,獲取應用程序到一個合適的狀態,它正在接受測試的要求。執行自動化測試任務,如起毛或掃描時,可能會出現這些問題,當你手動測試也可能出現。Burp的會話處理功能包含一系列的功能,以幫助在全部這些狀況下,讓你繼續你的手動和自動測試,同時Burp須要在後臺爲你的問題的照顧。
Session Handling Rules
Burp讓你定義的會話處理的規則清單,讓您很是細粒度地控制Burp處理應用程序的會話處理機制和相關的功能。每一個規則包含一個做用域(什麼規則適用於)和行動(什麼規則呢) 。對於每個即將離任的要求,即Burp它決定了所定義的規則在範圍的請求,並執行全部這些規則的行爲的順序(除非條件檢查行動決定不採起進一步行動,應適用於要求提供) 。在範圍內爲每一個規則可基於任何正在處理的請求的下列功能或所有來定義:
Burp工具發出的請求。
請求的URL。的請求中參數的名稱。每一個規則能夠執行一個或多個動做,例如:更新cookie從Burp的蜜罐。驗證當前會話。運行宏(請求的預約義的順序) 。經過建立不一樣的範圍和行動多條規則,你能夠定義行爲的層次結構Burp將適用於不一樣的應用和功能。例如,在一個特定的測試能夠定義以下的規則:對於全部的請求,從Burp的cookie jar添加cookie。對於請求到特定的域,驗證當前會話與該應用程序仍處於活動狀態,若是沒有,運行宏在應用程序從新登陸,並更新蜜罐用獲得的會話令牌。對於請求到包含__ csrftoken參數特定的URL ,首先運行一個宏來獲取有效__ csrftoken價值,並提出請求時使用此。
Session Handling Tracer
須要申請Burp的會話處理功能,以對現實世界的應用程序的功能的配置每每是複雜的,而且就很容易犯錯。您能夠使用會話處理示蹤劑,以幫助您解決您的會話處理配置。
示蹤顯示,已經由會話處理功能的處理(即,其中至少一個會話規則已經應用)每一個請求的列表。對於每一個處理請求,所述示蹤劑表示規則和進行該操做序列,而且改變到在序列中的每一個步驟中的電流要求而做出。
請注意,會話處理示蹤規定了全部受影響的HTTP請求的處理和存儲開銷。您應該只與故障排除會話處理的規則問題,當使用的示蹤劑,不該該離開它一般運行。
Cookie Jar
Burp維護一個cpploe幹罐,用於存儲全部你訪問的網站發出的cookies 。密罐是全部Burp的工具之間共享。您能夠配置哪些工具Cookie罐應監測,以更新的cookies 。默認狀況下,蜜罐是基於代理和蜘蛛的工具流量更新。Burp監視由配置工具接收到的響應,並更新蜜罐與設置任何新的Cookie。在代理的狀況下,從瀏覽器傳入的請求也被檢查。凡申請在前面設置一個永久性的Cookie這是目前在您的瀏覽器,這是須要你的會話進行適當的處理,這是頗有用的。有Burp更新基礎上,經過代理請求的蜜罐意味着全部必要的cookie將被添加到蜜罐,即便你的應用程序當前訪問期間不更新該cookie的值。您還能夠查看手工蜜罐和編輯的cookie的內容,使用「打開蜜罐」按鈕。蜜罐可用於會話處理的規則和宏來自動更新從蜜罐曲奇傳出請求。蜜罐榮譽Cookie的域範圍,在模仿的cookie處理規格Internet Explorer的詮釋方式。路徑範圍不兌現。
Macros
macro是一個或多個請求一個預約義的順序。您能夠使用會話處理規則中的Macro來執行各類任務。典型用例的宏包括:獲取該應用程序(如用戶的主頁)的頁面來檢查當前會話仍然有效。進行登陸,以得到新的有效的會話。得到令牌或隨機數做爲另外一個請求中的參數來使用。當Scanner或fuzz(模糊測試)在一個多步驟的過程的請求時,執行必要的前述要求,以得到應用到其中的目標請求將被接受的狀態。在一個多步驟的過程當中,「attack」的請求時,在完成該過程的剩餘步驟,以肯定所執行的動做,或者得到的結果,或者從該過程結束時的錯誤消息後。以及請求的基本序列,每一個宏包含一些關於如何餅乾和參數的序列中應處理的重要結構和單件之間的任何相關性。
display
User interface
設置容許您控制Burp的用戶界面的外觀。您能夠配置用於整個用戶界面(除了HTTP消息的顯示)的字體大小,也是Java的外觀和感受。更改這些設置就會生效時Burp從新啓動。
http message display
設置容許您控制HTTP消息會顯示在原始的HTTP消息編輯器中。您能夠設定字體和點大小和字體平滑是否被使用。您還能夠配置爲請求參數和響應語法語法彩色化是否完成。有不少小夥伴說亂碼,就在這裏設置。
Character Sets
設置控制Burp顯示原始的HTTP消息時如何處理不一樣的字符集。可用的選項有:
1)自動識別每一個消息的字符集的基礎上,郵件標題。這是默認選項,可以讓您同時在使用不一樣字符集的郵件的工做。 2)對全部消息使用平臺默認的字符集。 3)顯示消息的原始字節(使用ASCII編碼),而不處理任何擴展字符。 4)對全部消息使用一個特定的字符集。
HTTP頭始終顯示在原料的形式 - 字符集編碼選項只適用於郵件正文中。
須要注意的是所需的一些字符集的字形不支持的全部字體。若是你須要使用一個擴展的或不尋常的字符集,你應該首先嚐試進行系統的字體,如宋體或Dialog。
HTML rendering
Html rendering是html轉義的意思,渲染HTTP消息編輯器顯示HTML內容中標籤約,由於它會出如今你的瀏覽器。該選項控制Burp是否會做出所須要的徹底呈現HTML內容(例如,用於嵌入式圖像)的任何額外的HTTP請求。使用此選項涉及的速度和HTML渲染質量之間的權衡,以及您是否但願避免做出任何進一步的請求到目標應用程序。
Misc
此選項卡包含的設置hotkeys(熱鍵),logging(記錄),temporary files(臨時文件)的位置,automatic backup(自動備份)和scheduled tasks(預約的任務)。
Hotkeys
設置容許您配置快捷鍵爲經常使用操做。許多類型的動做能夠被分配一個快捷鍵,在如下類別:
1)特定於某個HTTP請求或響應的動做,例如「send to repeater(發送到轉發器)」。 2)全球行動,如「Switch to proxy(切換到代理服務器)」。 3)在編輯操做,如「剪切」和「撤消」。
一些熱鍵的默認配置。須要注意的是若是你使用它們頻繁,能夠給它們分配一個快捷鍵。
全部的快捷鍵必須使用控制鍵(或在OSX上的Command鍵),也能夠使用Shift和其餘可用的修飾符。請注意,在某些Windows安裝中的Ctrl + Alt組合是由Windows視爲等同於鍵AltGr,並可能致使輸入的字符時,在文本字段中壓顯現出來。
Logging
設置控制HTTP請求和響應的記錄。能夠記錄每一個工具或全部Burp流量進行配置。選擇你要記錄的,會彈出一個框讓你選擇保存的地方,能夠在掃描的時候把掃描的一些掃描記錄下來,而後放到sqlmap裏進行跑,很淫蕩的想法。
Temporary Files Location
保存一些零時文件的地方,能夠設置系統默認,也能夠自定義路徑。
Automatic backup
自動備份功能。設置容許您配置Burp保存的全部工具'的狀態和配置的備份每隔多少分鐘,而且還能夠選擇退出。
使用這些選項意味着你通常都會有你的工做,最近的備份副本在Burp異常退出的事件。若是您已配置目標範圍爲你的工做,你能夠使用「include in-scope items only(僅僅包括在範圍內的項目)」以減小數據必須保存量。
Scheduled Tasks
計劃任務。僅限專業版使用,您能夠使用任務調度程序自動啓動和中止某些任務在規定的時間和間隔時間。您能夠使用任務計劃程序來啓動和中止某些自動化任務了幾個小時,而你沒有工做,並按期或在特定時間保存您的工做。要使用此功能,請選擇在Burp的任何地方一個HTTP請求,或任何部分目標站點地圖,並在上下文菜單中的「Engagement(參與工具)」中選擇「Schedule task(計劃任務)」 。或者,您也能夠經過在計劃任務面板中直接添加一個新的任務。建立一個新的任務將打開一個嚮導,能夠配置任務的詳細信息。
任務計劃有如下類型:
1)從URL掃描 2)暫停主動掃描 3)繼續主動掃描 4)從URL蜘蛛 5)暫停蜘蛛 6)保存狀態
根據任務的類型,您還能夠配置一個URL (如掃描)或文件(如保存狀態) 。每個任務須要有配置了啓動時間。或者,您能夠配置任務重複在定義的時間間隔。
Suite functions
Generate CSRF POC
[專業版]此功能可用於生成一個證實了概念驗證(PoC )跨站點請求僞造(CSRF )攻擊對於一個給定的請求。要使用此功能,請選擇在Burp的任何地方URL或HTTP請求,並選擇上下文菜單中的「Engagement tools(參與工具)」中的「Generate CSRF Poc(生成CSRF的一鍵通)」。
Burp顯示了在頂部面板中選擇的完整的請求,並將生成的HTML CSRF在較低的面板。在HTML使用的形式和/或JavaScript來生成在瀏覽器中所要求的請求。您能夠手動編輯的要求,並單擊「regenerate(從新生成)」按鈕,根據更新的要求來從新生成CSRF的HTML 。你能夠測試生成的PoC的效果在瀏覽器中,使用「測試中的瀏覽器」按鈕。當您選擇此選項,能夠粘貼到瀏覽器(配置爲使用Burp的當前實例做爲其代理)一個惟一的URL 。由此產生的瀏覽器請求由服務Burp與當前顯示的HTML,而後你能夠決定的PoC是不是經過監測獲得的請求( s)表示,經過代理服務器進行了卓有成效的。
Message Editor
HTTP消息編輯器是用於整個Burp查看和編輯的HTTP請求和響應。以及顯示原始消息自己,編輯器包括大量的功能,幫助您快速進一步分析這些消息,推進Burp的核心工做流程,以及進行其餘有用的任務。
Content Discovery
此功能可用於發現內容並不會從您能夠瀏覽或蜘蛛可見內容連接功能。
要使用此功能,請選擇在Burp的任何地方一個HTTP請求,或任何部分目標站點地圖,並在上下文菜單中的「參與工具」中選擇「查找內容」。
Burp使用各類技術來發現內容,包括姓名猜想,網絡蜘蛛,而且從命名的應用程序中使用的觀測約定外推。發現的內容被顯示在一個特殊的網站地圖是特定的發現會話,而且還能夠任選地加入到suite site map。
Control
此選項卡顯示您發現會話的當前狀態。切換按鈕指示是否會話正在運行,並容許您暫停和從新啓動會話。
下面的信息則顯示該發現會話的進展:提出的要求數在服務器響應傳輸的字節數網絡錯誤數排隊的發現任務數蜘蛛排隊的請求數排隊分析響應數排隊的我的發現任務都顯示在表格中。發現引擎的工做原理遞歸,當一個新的目錄或文件被發現,進一步的任務是源於此,這取決於配置。
Target
這些選項可以讓您定義了內容發現會話啓動目錄,以及是否文件或目錄要有針對性。下列選項可用:
Start directory(啓動目錄) - 這就是Burp就會開始尋找內容的位置。這條道路及其子目錄內只有項目將在會議期間提出要求。
Discover(發現) - 此選項肯定會話是否將尋找文件或目錄,或二者兼而有之。若是你正在檢查的目錄,你能夠選擇是否以及如何深遞歸到子目錄中發現的。
Filenames
這些選項可以讓您配置Burp應該使用生成的文件名來測試源。下列選項可用
內置的短文件列表 、內置短路目錄列表 、內置長文件列表 、內置長目錄列表
發如今目標站點上使用的名稱。若是選擇此選項,Burp會維護全部的目錄和文件名莖已發現的目標網站上的名單,也將檢查這些在測試每個新的目錄。
根據發現的物品推導。若是選擇此選項,Burp會嘗試猜想基於那些已經被發現的項目名稱。例如,若是該目錄AnnualReport2011被發現,Burp也將檢查AnnualReport2012,AnnualReport2013等。
File Extensions
控制如何發現會話添加文件擴展名,正在測試。該文件的自己是根據文件名選擇導出。當每一個文件的在測試時,Burp會檢查各類不一樣的擴展名,根據這些設置。下列選項可用:
1)Test these extensions(測試這些擴展)- 此選項可以讓您設定的擴展,Burp會常常檢查清單。你能夠微調的基礎上已知在對目標應用程序中使用的技術,默認列表。 2)Test all extensions observed on target site(測試目標點觀測到的全部分機) - 若是選擇此選項,而後Burp會自動檢查是否存在已在使用中被觀察到目標站點上的文件擴展名。此選項頗有用,當你不知道究竟是什麼擴展或技術都在使用。您還能夠配置你不想要檢查,即便發現是在使用中(如圖像文件)的擴展名列表。 3)Test these variant exxtensions on discovered files(在測試文件中發現這些變異擴展) - 此選項可以讓您設定的擴展名列表的Burp會額外檢查以便發現文件名。這個選項是檢查現有的文件的備份副本頗有用。 4)Test filestemswith no extension(測試文件無擴展名) - 若是選擇此選項,Burp會爲每一個文件檢查不帶擴展名添加。
Discovery Engine
用於發現內容時發出HTTP請求的引擎,並帶有套房站點地圖互動。下列選項可用:
1)Case sensitivity(區分大小寫) - 這個設置控制Burp是否會處理文件名的狀況下,敏感。若是選擇「自動檢測」被選中,而後Burp會經過處理文件名的狀況下靈敏啓動,並在發現的第一個新項目,將測試狀況變化的服務器的處理。根據所治療,Burp可能恢復處處理文件名的狀況下不區分大小寫。 2)Add discovered content to suite site map(發現添加內容到套房站點地圖) - 若是選擇此選項,而後在當前會話的發現肯定了新的項目將被自動添加到主浴室的站點地圖。 3)Copy content from suite site map(複製主站點地圖的內容) - 若是選擇此選項,則發現會話將複製任何現有的相關內容從主套房站點地圖進去發現網站地圖,以提供發現新的內容較強的出發基礎。 4)Number of discovery threads(蜘蛛從已發現的內容) - 若是選擇此選項,則發現會話將執行常規的網絡蜘蛛,而且將處理響應發現請求尋找連接到其餘新的內容。發現執行緒數目 - 此選項控制併發請求數的發現引擎可以做出。蜘蛛線程數 - 該選項控制併發請求數的蜘蛛功能是可以使,若是啓用。
Site map
該發現會話使用本身的站點地圖,顯示全部已發現的定義範圍內的全部內容。若是您已配置Burp的話,新發現的項目也將被添加到Burp的主要站點地圖。
Alert
用來顯示當前Burp的掃描代理的一些狀態,這個沒什麼介紹的。
Burp Sqlmap插件
SqlMap是一個開源滲透測試工具,它能夠自動檢測和利用SQL注入漏洞和接管數據庫服務器的過程。它配備了一個功能強大的檢測引擎,許多利基功能,爲最終的滲透測試和普遍的交換機從數據庫中指紋持久的,在數據從數據庫中獲取,經過訪問底層文件系統和操做系統上執行命令的輸出帶外鏈接。如圖效果圖
0x01 環境及工具
須要python、java環境,而且須要下載sqlmap.py、gason.jar插件。
下載地址:https://github.com/sqlmapproject/sqlmap
http://www.praetorian.com/tools/gason-0.9.6.jar
0x02 安裝
1)選擇Burp Extender擴展添加
2)添加成功會提示加載成功,而後在任意的Burp請求地址的詳情裏右擊
3)接下來會出現gui 界面,要是用還必須加載sqlmap.py的路徑
圖形界面挺不錯的,對於使用sqlmap新手挺好的,有時候使用命令界面的時候不知道命令了能夠用這個圖形界面查看命令怎樣使用,好比:我不知道怎麼在後面加數據庫參數,則能夠以下圖所示
0x03 使用
如上有地址參數了在右下角點擊run便可,圖形界面就不作過多的介紹了,其使用方法和sqlmap命令界面是同樣的,主要是結合了burp惟一的好處就是用burp檢測到注入了而後能夠直接發送到sqlmap進行注入。並且操做簡單。
Notes
0x01 介紹
在Notes選項卡中,您能夠:
- 儲存注意事項:儲存任何目前開啓的文件到一個文件中。 - 負載注:從文件加載之前保存的一套紙幣。 - 新文本:添加一個標籤一個新的文本文檔。 - 導入文本:加載一個文本文件的內容。 - 新的電子表格:添加一個標籤一個新的電子表格。 - 導入電子表格:加載一個CSV文件的內容。 - 您還能夠導出單個音符的標籤到外部文件。
界面以下:
0x02 安裝
在Burp主界面Extender>>Extensions>>Burp Extensions下的add按鈕
0x03 使用
1)能夠從Burp主界面的Proxy history裏選擇發送到notes。 2)切換到notes標籤選項卡便可。 3)Save notes(保存文本) 4)也能夠導入文本和表格文件
JSBeautifier
0x01 介紹
大多數的網站壓縮其資源,如JS文件,以便增長裝載速度。然而,安全性測試和調試一個壓縮的資源是不容易的事。這是一個Burp開源擴展,這使得它能夠美化大部分資源。所以,這將有助於Web應用程序安全研究人員查看壓縮資源更容易。它還能夠幫助他們有足夠的資源內的瀏覽器解壓縮後的版本(如JS,CSS,HTML,XML,等等)。
0x02安裝
1)下載jsbeautifier.jar 文件和libs目錄 2)點擊Extender>>add選擇jsbeautifier.jar
0x03 使用
直接勾選或者在響應請求選擇beautify this!便可