Web黑客工具箱之LiveHttpHeaders

當咱們測試Web應用程序的安全性的時候,常常須要對HTTP流量進行分析和動態修改。此外,取得對Web 應用程序流出和流入的數據的控制權不只對Web 應用程序安全缺陷的發現和漏洞的利用等安全測試任務具備很大的幫助,並且還有利於常規的Web 應用程序測試。本文中,咱們將講解用於上述目的的工具:LiveHttpHeaders,有了這個Firefox擴展,咱們沒必要架設代理服務器就能夠方便 地分析和操縱HTTP流量。css

1、LiveHttpHeaders的安裝html

LiveHttpHeaders是一個用於分析HTTP流量的 Firefox 擴展,咱們能夠用它來分析和重放http請求。咱們下面詳細的說明該插件的安裝步驟。首先,將瀏覽器導航至http://LiveHTTPHeaders.mozdev.org/installation.html,而後鼠標單擊「Install version 0.14 of LiveHTTPHeaders now」超連接來選擇當前的最新版本,以下圖所示:正則表達式

 
圖1  單擊圖中所示的連接

若是Firefox阻止了該擴展的安裝,能夠在單擊右邊的「容許」按鈕以繼續安裝。以下圖所示:瀏覽器

 
圖2  點擊「容許」按鈕

單擊上圖中的「容許」按鈕就會啓動安裝過程,這時瀏覽器會彈出以下所示的「軟件安裝」對話框,以下圖所示:安全

 
圖3  單擊「當即安裝」按鈕

單擊「軟件安裝」對話框中的「當即安裝」按鈕進入下一安裝畫面,以下圖所示:服務器

 
圖4  重啓瀏覽器

在「附加附件」對話框中,請單擊「從新啓動Firefox」按鈕,當瀏覽器重啓後,會自動彈出以下所示畫面:工具

 
圖5  安裝結束

這說明咱們已經成功安裝好了LiveHttpHeaders擴展,關閉該對話框,咱們就能在工具菜單以及「查看」菜單下的「側欄」子菜單中看到LiveHttpHeaders的菜單項了。測試

2、LiveHttpHeaders主窗口spa

根據咱們目的的不一樣,LiveHttpHeaders有兩種啓動方法:當咱們只想監視通訊量的時候,能夠從瀏覽器的「查看」菜單中選擇「側欄」菜單 項,最後選擇Live HTTP Headers菜單項;若是要使用該工具所有特性的話,則須要經過單擊「工具」菜單中的Live HTTP Headers項來打開它,以下圖所示。插件

 
圖6  Live HTTP Headers的主窗口

LiveHttpHeaders主窗口中有多個選項卡,不一樣的選項卡對應於不一樣的功能。窗口的中間部分顯示的是發出的請求和收到的響應,而各個請求 -應答對之間有水平線進行分隔。該窗口底部包含LiveHttpHeaders的動做按鈕以及規定是否啓用捕獲模式的「Capture」複選框。選中這個 按鈕能夠中止LiveHttpHeaders向下滾動,以便對已經產生的通訊流量進行分析。

3、利用LiveHttpHeaders重放請求

除了監視HTTP流量外,咱們還能利用LiveHttpHeaders重放一個請求,這對於Web 應用程序的安全性測試來講很是重要。LiveHttpHeaders使咱們可以輕鬆讀寫以前的請求,因此也就可以方便地經過修改該請求的各個部分來測試程 序的弱點和缺陷。要進行重發的話,只要在窗口中間部分已列出的請求中選擇一個,而後在窗口底部單擊「Replay」按鈕就會彈出如同圖7中看到的那樣的窗 口,咱們可以在此對該請求進行各類修改,例如咱們能夠添加額外的頭部,改變請求方式(GET或POST),或者修改發往服務器的參數,等等。對請求作好修 改後,單擊「Live HTTP Replay」對話框底部的「Replay」按鈕便可實現該請求的重發。

 
圖7  請求重放對話框

重放多是LiveHttpHeaders中最有用的功能,由於它直接把請求的結果加載到瀏覽器中,這正是各Web代理程序所不具有的,如Burp。利用重放窗口,咱們能夠進一步利用瀏覽會話進行各類修改並查看其結果。

4、修改POST參數

正如前面提到的那樣,咱們可以利用重放功能來改變請求的任何部分,其中包括POST參數,如圖8所示。注意,改變POST 請求時,須要注意頭部中的Content-Length參數,由於LiveHTTPReplay不能動態提供請求內容的長度值。雖然大多數Web服務器/ 應用程序並不關心該值的對錯,可是按照RFC的規範,該頭部是必需的。若是不包含這個值,當使用了入侵檢測系統(IDS)監控Web通訊流量時,就會引發 IDS報警。幸運的是,LiveHttpHeaders提供了一個長度計數器,它位於該窗口的左下方,咱們能夠利用它來插入咱們的內容長度值。

 
圖8  即時重放HTTP

除GET和POST請求以外,咱們還能夠利用這個工具經過TRACE、TRACK 和OPTIONS方式來測試Web服務器。例如,爲重放工具提供下列命令,就能夠測試一個Web服務器是否容許無限制的文件上載。

 
圖9  模擬HTTP  PUT

5、過濾功能

最後要介紹的是如何過濾掉不想要的請求類型,這會在檢查大型Web 應用程序時減小咱們的工做量。首先單擊Live HTTP Headers主窗口中的Config選項卡,以下圖所示:

 
圖10  LiveHTTPHeaders 的配置對話框

經過該配置視圖,咱們能夠排除和包括匹配特殊正則表達式規則的URL。使用「Filter URLs with regexp 」和「exclude URLs with regexp 」,能夠根據請求的URL來規定哪些類型的請求是咱們想要的。在上圖中,以.gif、.jpg、.ico、.css和.js 結尾的請求將會排除在Headers視圖以外。

6、小結

本文中,咱們對LiveHttpHeaders在安全測試方面的功能作了詳細的介紹。總的來講,在發現XSS缺陷方 面,LiveHttpHeaders是最經常使用的工具之一。咱們能夠經過幾回點擊就能很輕鬆地查看請求的內部細節,修改並重放它們。若是您留心觀察的話,您 就會發現LiveHttpHeaders重放的每一個請求的結果,仍會進入瀏覽器窗口。與其它的測試工具例如應用程序代理等不一樣的 是,LiveHttpHeaders提供了一個可視化的結果,這能幫你更快地理解它們。

相關文章
相關標籤/搜索