20189222 《網絡攻防實踐》 第十一週做業

Burp Suite入門實用教程

(一)什麼是Burp Suite

Burp Suite 是用於攻擊web 應用程序的集成平臺。它包含了許多工具,併爲這些工具設計了許多接口,以促進加快攻擊應用程序的過程。全部的工具都共享一個能處理並顯示HTTP 消息,持久性,認證,代理,日誌,警報的一個強大的可擴展的框架。
Burp Suite 能高效率地與單個工具一塊兒工做,例如:
一箇中心站點地圖是用於彙總收集到的目標應用程序信息,並經過肯定的範圍來指導單個程序工做。
在一個工具處理HTTP 請求和響應時,它能夠選擇調用其餘任意的Burp工具。例如:
代理記錄的請求可被Intruder 用來構造一個自定義的自動攻擊的準則,也可被Repeater 用來手動攻擊,也可被Scanner 用來分析漏洞,或者被Spider(網絡爬蟲)用來自動搜索內容。應用程序能夠是「被動地」運行,而不是產生大量的自動請求。Burp Proxy 把全部經過的請求和響應解析爲鏈接和形式,同時站點地圖也相應地更新。因爲徹底的控制了每個請求,你就能夠以一種非入侵的方式來探測敏感的應用程序。
當你瀏覽網頁(這取決於定義的目標範圍)時,經過自動掃描通過代理的請求就能發現安全漏洞。
IburpExtender 是用來擴展Burp Suite 和單個工具的功能。一個工具處理的數據結果,能夠被其餘工具隨意的使用,併產生相應的結果。html

(二)Burp Suite的安裝

  • Burp Suite是一個無需安裝軟件,下載完成後,直接從命令行啓用便可。但Burp Suite是用Java語言開發的,運行時依賴於JRE,須要提早Java可運行環境。java

  • 配置jvm內存大小:若是java可運行環境配置正確的話,正確運行時,會自動分配最大的可用內存。但在滲透測試過程當中,若是有成千上萬個請求經過Burp Suite,這時就可能會致使Burp Suite因內存不足而崩潰,從而會丟失滲透測試過程當中的相關數據,這是咱們不但願看到的。所以,咱們能夠在啓動時,指定它使用的內存大小。web

(三)Burp Suite代理和瀏覽器設置

(1)IE設置
打開IE選項->鏈接->局域網設置->勾選 爲LAN使用代理服務器->輸入地址127.0.0.1 端口號8080 (burp suite默認分配代理地址和端口,能夠進行相應的更改)
(2)FireFox設置
打開FireFox->按alt顯示導航欄->點擊工具->點擊選項->在新打開about:preferences中選高級->網絡,此時咱們將看到FireFox鏈接網絡的設置選項。此後點擊設置,在彈出的鏈接設置對話框中,找到「http代理」,填寫127.0.0.1,端口填寫8080,最後點擊確認保存參數設置,完成FireFox的代理配置。正則表達式

(四)Burp Suite工具箱

  • 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 Proxy基本使用

Burp Proxy的攔截功能主要由Intercept選項卡中的Forward、Drop、Interception is on/off、Action、Comment 以及Highlight構成,它們的功能分別是: Forward的功能是當你查看過消息或者從新編輯過消息以後,點擊此按鈕,將發送消息至服務器端。 Drop的功能是你想丟失當前攔截的消息,再也不forward到服務器端。Interception is on表示攔截功能打開,攔截全部經過Burp Proxy的請求數據;Interception is off表示攔截功能關閉,再也不攔截經過Burp Proxy的全部請求數據。 Action的功能是除了將當前請求的消息傳遞到Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer組件外,還能夠作一些請求消息的修改,如改變GET或者POST請求方式、改變請求body的編碼,同時也能夠改變請求消息的攔截設置,如再也不攔截此主機的消息、再也不攔截此IP地址的消息、再也不攔截此種文件類型的消息、再也不攔截此目錄的消息,也能夠指定針對此消息攔截它的服務器端返回消息。數據庫

  • forward:傳輸本次數據。
  • drop:丟棄本次數據。
  • Intercepton/off:攔截開啓/關閉。
  • Action:提供功能選項。
  • Raw:視圖主要顯示web請求的raw格式,包含請求地址、http協議版本、主機頭、瀏覽器信息、Accept可接受的內容類型、字符集、編碼方式、cookie等。咱們能夠經過手工修改這些信息,對服務器端進行滲透測試。
  • params :視圖主要顯示客戶端請求的參數信息、包括GET或者POST請求的參數、Cookie參數。滲透人員能夠經過修改這些請求參數來完成對服務器端的滲透測試。
  • headers:視圖顯示的信息和Raw的信息相似,只不過在這個視圖中,展現得更直觀、友好。
  • Hex :視圖顯示Raw的二進制內容,你能夠經過hex編輯器對請求的內容進行修改。
  • comment:對攔截的消息添加備註,在一次滲透測試中,你一般會遇到一連串的請求消息,爲了便於區分,在某個關鍵的請求消息上,你能夠添加備註信息。
  • 可選項配置Options
    • 客戶端請求消息攔截(Interceptclient requests)
    • 服務器端返回消息攔截(intercept server responses)
    • 服務器返回消息修改(response modification)
    • 正則表達式配置(match and replace)
    • 其餘配置項(miscellaneous)


intercept is on 爲攔截狀態 其對應的intercept is off 爲非攔截狀態,設置完代理後打開攔截狀態,瀏覽器發起的請求會被burpsuite所攔截。

forward: 進行請求後被攔截,點擊forward能夠繼續這次請求,若是你點擊drop則丟棄此請求數據。繼續請求後可以看到返回結果。瀏覽器

(六)Burp scanner基本使用

BurpScanner的功能主要是用來自動檢測web系統的各類漏洞,咱們可使用BurpScanner代替咱們手工去對系統進行普通漏洞類型的滲透測試,從而能使得咱們把更多的精力放在那些必需要人工去驗證的漏洞上。Scannr的掃描方式分爲兩種,積極掃描和被動掃描。安全

  • 1.積極掃描(ActiveScanning)服務器

    當使用主動掃描模式時,Burp 會嚮應用發送新的請求並經過payload驗證漏洞。這種模式下的操做,會產生大量的請求和應答數據,直接影響系統的性能,一般使用在非生產環境。它對下列的兩類漏洞有很好的掃描效果:
    (1)客戶端的漏洞,像XSS、Http頭注入、操做重定向。
    (2)服務端的漏洞,像SQL注入、命令行注入、文件遍歷。
    對於第一類漏洞,Burp在檢測時,會提交一下input域,而後根據應答的數據進行解析。在檢測過程當中,Burp會對基礎的請求信息進行修改,即根據漏洞的特徵對參數進行修改,模擬人的行爲,以達到檢測漏洞的目的。 對於第二類漏洞,通常來講檢測比較困難,由於是發生在服務器側。好比說SQL注入,有多是返回數據庫錯誤提示信息,也有多是什麼也不反饋。Burp在檢測過程當中,採用各個技術來驗證漏洞是否存在,好比誘導時間延遲、強制修改Boolean值,與模糊測試的結果進行比較,已達到高準確性的漏洞掃描報告。cookie

  • 2.被動掃描(PassiveScanning)網絡

    當使用被動掃描模式時,Burp不會從新發送新的請求,它只是對已經存在的請求和應答進行分析,這對系統的檢測比較安全,尤爲在你受權訪問的許可下進行的,一般適用於生成環境的檢測。

(七)Burp repeater基本使用

Repeater是一個重放攻擊器。能夠在這裏對數據包的參數進行修改,以此來進行請求與響應的消息驗證分析。

(八)Burp Intruder的使用

工做原理:

Intruder在原始請求數據的基礎上,經過修改各類請求參數,以獲取不一樣的請求應答。每一次請求中,Intruder一般會攜帶一個或多個有效攻擊載荷(Payload),在不一樣的位置進行攻擊重放,經過應答數據的比對分析來得到須要的特徵數據。

  1. 標識符枚舉 Web應用程序常用標識符來引用用戶、帳戶、資產等數據信息。例如,用戶名,文件ID和帳戶號碼。

  2. 提取有用的數據在某些場景下,而不是簡單地識別有效標識符,你須要經過簡單標識符提取一些其餘的數據。好比說,你想經過用戶的我的空間id,獲取全部用戶在我的空間標準的暱稱和年齡。

  3. 模糊測試不少輸入型的漏洞,如SQL注入,跨站點腳本和文件路徑遍歷能夠經過請求參數提交各類測試字符串,並分析錯誤消息和其餘異常狀況,來對應用程序進行檢測。因爲的應用程序的大小和複雜性,手動執行這個測試是一個耗時且繁瑣的過程。這樣的場景,您能夠設置Payload,經過Burp Intruder自動化地對Web應用程序進行模糊測試。

詳細教程參考Burp Suite教程

相關文章
相關標籤/搜索