Kali Linux 網絡掃描秘籍 第七章 Web 應用掃描(二)

第七章 Web 應用掃描(二)

作者:Justin Hutchens

譯者:飛龍

協議:CC BY-NC-SA 4.0

7.7 使用 BurpSuite Web 代理

雖然它有許多可用工具,BurpSuite 的主要功能就是攔截代理。這就是說,BurpSuite 擁有捕獲請求和響應的功能,以及隨后操作它們來將其轉發到目的地。這個秘籍中,我們會討論如何使用 BurpSuite 攔截或記錄請求。

準備

為了使用 BurpSuite 對目標執行 Web 應用分析,你需要擁有運行一個或多個 Web 應用的遠程系統。所提供的例子中,我們使用 Metasploitable2 實例來完成任務。 Metasploitable2 擁有多種預安裝的漏洞 Web 應用,運行在 TCP 80 端口上。配置 Metasploitable2 的更多信息請參考第一章中的“安裝 Metasploitable2”秘籍。

此外,你的 Web 瀏覽器需要配置來通過 BurpSuite 本地實例代理 Web 流量。關于將 BurpSuite 用作瀏覽器代理的更多信息,請參考第一章的“配置 BurpSuite”一節。

操作步驟

BurpSuite 的功能可以以被動或攔截模式使用。如果禁用了攔截器,所有請求和響應都會簡單記錄到HTTP History(HTTP 歷史)標簽頁中。可以從列表中選擇它們,來瀏覽它們或查看任何請求或響應的細節,像這樣:

作為替代,Intercept(攔截器)按鈕可以按下來捕獲發送過程中的流量。這些請求可以在Proxy標簽頁中操作,之后會轉發到目的地,或者丟棄。通過選擇Opyions標簽頁,攔截器代理可以重新配置來定義所攔截的請求類型,或者甚至在響應到達瀏覽器之前攔截它們,像這樣:

工作原理

BurpSuite 代理可以攔截或被動記錄瀏覽器接受或發送的流量,因為它邏輯上配置在瀏覽器和任何遠程設置之間。瀏覽器被配置來將所有請求發送給 Burp 的代理,之后代理會將它們轉發給任何外部主機。由于這個配置,Burp 就可以捕獲兩邊的發送中的請求和響應,或者記錄所有發往或來自客戶端瀏覽器的通信。

7.8 使用 BurpSuite Web 應用掃描器

BurpSuite 可以用作高效的 Web 應用漏洞掃描器。這個特性可以用于執行被動分析和主動掃描。這個秘籍中,我們會談論如何使用 BurpSuite 執行被動和主動漏洞掃描。

準備

為了使用 BurpSuite 對目標執行 Web 應用分析,你需要擁有運行一個或多個 Web 應用的遠程系統。所提供的例子中,我們使用 Metasploitable2 實例來完成任務。 Metasploitable2 擁有多種預安裝的漏洞 Web 應用,運行在 TCP 80 端口上。配置 Metasploitable2 的更多信息請參考第一章中的“安裝 Metasploitable2”秘籍。

此外,你的 Web 瀏覽器需要配置來通過 BurpSuite 本地實例代理 Web 流量。關于將 BurpSuite 用作瀏覽器代理的更多信息,請參考第一章的“配置 BurpSuite”一節。

操作步驟

通常,BurpSuite 會被動掃描所有范圍內的 Web 內容,它們通過瀏覽器在連接代理時范圍。術語“被動掃描”用于指代 BurpSuite被動觀察來自或發往服務器的請求和響應,并檢測內容中的任何漏洞標識。被動掃描不涉及任何注入或探針,或者其他確認可疑漏洞的嘗試。

主動掃描可以通過右鍵點擊任何站點地圖中的對象,或者任何 HTTP 代理歷史中的請求,并且選擇Actively scan this branch,或者Do an active scan,像這樣:

所有主動掃描的結果可以通過選擇Scanner下方的Scan queue標簽頁來復查。通過雙擊任何特定的掃描項目,你可以復查特定的發現,因為它們屬于該掃描,像這樣:

主動掃描可以通過選擇Options標簽頁來配置。這里,你可以定義要執行的掃描類型,掃描速度,以及掃描的徹底性。

工作原理

BurpSuite 的被動掃描器的工作原理是僅僅評估經過它的流量,這些流量在瀏覽器和任何遠程服務器之間通信。這在識別一些非常明顯的漏洞時非常有用,但是不足以驗證許多存在于服務器中的更加嚴重的漏洞。主動掃描器的原理是發送一系列探針給請求中識別的參數。這些探針可以用于識別許多常見的 Web 應用漏洞,例如目錄遍歷、XSS 和 SQL 注入。

7.9 使用 BurpSuite Intruder(干擾器)

BurpSuite 中的另一個非常有用的工具就是 Intruder。這個工具通過提交大量請求來執行快節奏的攻擊,同時操作請求中預定義的載荷位置。我們會使用 BurpSuite Intruder 來討論如何自動化請求內容的操作。

準備

為了使用 BurpSuite 對目標執行 Web 應用分析,你需要擁有運行一個或多個 Web 應用的遠程系統。所提供的例子中,我們使用 Metasploitable2 實例來完成任務。 Metasploitable2 擁有多種預安裝的漏洞 Web 應用,運行在 TCP 80 端口上。配置 Metasploitable2 的更多信息請參考第一章中的“安裝 Metasploitable2”秘籍。

此外,你的 Web 瀏覽器需要配置來通過 BurpSuite 本地實例代理 Web 流量。關于將 BurpSuite 用作瀏覽器代理的更多信息,請參考第一章的“配置 BurpSuite”一節。

操作步驟

為了使用 BurpSuite Intruder,需要通過攔截捕獲或者代理歷史向其發送請求。完成之后,右擊請求并選擇Send to Intruder,像這樣:

在下面的例子中,DVWABrute Force應用的登錄入口中輸入了用戶名和密碼。在發往 Intruder 之后,可以使用Positions標簽頁來設置載荷。為了嘗試爆破管理員密碼,需要設置的載荷位置只有password參數,像這樣:

一旦載荷位置定義好了,被注入的載荷可以在Payloads標簽頁中配置。為了執行字典攻擊,我們可以使用自定義或內建的字典列表。這個例子中,內建的Passwords列表用于這次攻擊,像這樣:、

一旦配置好了攻擊,你可以點擊屏幕頂端的Intruder菜單,之后點擊start attack。這會通過將每個值插入到載荷位置,快速提交一系列請求。為了判斷是否存在任何請求生成了完全不同的響應,我們可以將結果按照長度排序。這可以通過點擊Length表頭來完成,通過點擊將長度降序排列,我們可以識別出某個長度其它響應的響應。這就是和長度密碼相關(碰巧為password)的響應。成功的登錄嘗試會在下一個秘籍中進一步確認,那些我們會討論 Comparer 的用法。

工作原理

BurpSuite Intruder 的原理是自動化載荷操作。它允許用戶指定請求中的一個或多個載荷位置,之后提供大量選項,用于配置這些值如何插入到載荷位置。它們會每次迭代后修改。

7.10 使用 BurpSuite Comparer(比較器)

在執行 Web 應用評估是,能夠輕易識別 HTTP 請求或者響應中的變化非常重要。Comparer 功能通過提供圖形化的變化概覽,簡化了這一過程。這個秘籍中,我們會談論如何使用 BurpSuite 識別和評估多種服務器響應。

準備

為了使用 BurpSuite 對目標執行 Web 應用分析,你需要擁有運行一個或多個 Web 應用的遠程系統。所提供的例子中,我們使用 Metasploitable2 實例來完成任務。 Metasploitable2 擁有多種預安裝的漏洞 Web 應用,運行在 TCP 80 端口上。配置 Metasploitable2 的更多信息請參考第一章中的“安裝 Metasploitable2”秘籍。

此外,你的 Web 瀏覽器需要配置來通過 BurpSuite 本地實例代理 Web 流量。關于將 BurpSuite 用作瀏覽器代理的更多信息,請參考第一章的“配置 BurpSuite”一節。

操作步驟

任何包含不一致內容的異常通常都值得調查。響應中的變化通常是載荷產生了所需結果的明顯標志。在前面使用 BurpSuite Intruder 來爆破 DVWA 登錄的演示中,某個特定的載荷生成了比其它更長的響應。為了評估響應的變化,右擊事件并點擊Send to Comparer (response)

將事件發送給 Comparer 之后,你可以選擇屏幕上訪的Comparer標簽頁來評估它們。確保之前的響應之一選擇為item 1,另外的一個響應選擇為item 2,像這樣:

在屏幕下方,存在compare wordscompare words的選項。這里我們選擇compare words。我們可以看到,響應中一些內容的變化反映了登錄成功。任何修改、刪除或添加的內容都會在響應當中高亮顯式,使其更加易于比較,像這樣:

工作原理

BurpSuite Comparer 的原理是分析任意兩個內容來源,并找出不同。這些不同被識別為修改、刪除或添加的內容。快速區分內容中的變化可以用于高效判斷特定操作的不同效果。

7.11 使用 BurpSuite Repeater(重放器)

在執行 Web 應用評估過程中,很多情況下需求手動測試來利用指定的漏洞。捕獲代理中的每個響應、操作并轉發非常消耗時間。BurpSuite 的 Repeater 功能通過一致化的操作和提交單個請用,簡化了這個過程,并不需要在瀏覽器中每次重新生成流量。這個秘籍中,我們會討論如何使用 BurpSuite 執行手動的基于本文的審計。

準備

為了使用 BurpSuite 對目標執行 Web 應用分析,你需要擁有運行一個或多個 Web 應用的遠程系統。所提供的例子中,我們使用 Metasploitable2 實例來完成任務。 Metasploitable2 擁有多種預安裝的漏洞 Web 應用,運行在 TCP 80 端口上。配置 Metasploitable2 的更多信息請參考第一章中的“安裝 Metasploitable2”秘籍。

此外,你的 Web 瀏覽器需要配置來通過 BurpSuite 本地實例代理 Web 流量。關于將 BurpSuite 用作瀏覽器代理的更多信息,請參考第一章的“配置 BurpSuite”一節。

操作步驟

為了使用 BurpSuite Repeater,請求需要通過攔截捕獲或者代理歷史來發送給它。發送之后,右擊請求之后選擇Send to Repeater,像這樣:

在這個例子中,用戶生成的請求用于提供名稱,服務器以 HTML 響應返回所提供的輸入。為了測試跨站腳本的可能性,我們應該在這種攻擊中首先注入一系列常見的字符,像這樣:

在發送一系列字符之后,我們可以看到,所有字符都在 HTML 內容中返回,沒有字符被轉義。這很大程度上表示,這個功能存在跨站腳本漏洞。為了測試漏洞是否可以利用,我們可以輸入標準的標識請求<script>alert('xss')</ script>,像這樣:

通過查看返回的 HTML 內容,我們可以看到,開頭的script標簽已經從響應中移除了。這可能表明黑名單禁止在輸入中使用script標簽。黑名單的問題就是,它可以通過修改輸入來繞過。這里,我們可以嘗試通過修改標簽中幾個字符的大小寫來繞過黑名單,像這樣:

通過使用<ScRiPt>標簽,我們可以看到,強加的限制已經繞過了,開始和閉合標簽都包含在響應中。這可以通過在瀏覽器中輸入請求來驗證,像這樣:

為了評估客戶端瀏覽器中的響應,右擊請求之后選擇Request in browser。這會生成一個 URL,它可以用于重新在已連接到 Burp 代理的瀏覽器中提交請求。

我們可以手動復制提供的 URL,或者點擊Copy按鈕。這個URL 之后可以粘貼到瀏覽器中,而且請求會在瀏覽器中提交。假設跨站腳本攻擊是成功的,客戶端 JS 代碼會在瀏覽器中渲染,并且屏幕上會出現提示框,像這樣:

工作原理

BurpSuite Repeater 僅僅通過向 Web 提供文本界面來工作。Repeater 可以讓用戶通過直接操作請求和遠程 Web 服務交互,而不是和 Web 瀏覽器交互。這在測試真實 HTML 輸出比渲染在瀏覽器中的方式更加重要時非常有用。

7.12 使用 BurpSuite Decoder(解碼器)

在處理 Web 應用流量時,你會經常看到出于混淆或功能性而編碼的內容。BurpSuite Decoder 可以解碼請求或響應中的內容,或按需編碼內容。這個秘籍中,我們會討論如何使用 BurpSuite 編碼和解碼內容。

準備

為了使用 BurpSuite 對目標執行 Web 應用分析,你需要擁有運行一個或多個 Web 應用的遠程系統。所提供的例子中,我們使用 Metasploitable2 實例來完成任務。 Metasploitable2 擁有多種預安裝的漏洞 Web 應用,運行在 TCP 80 端口上。配置 Metasploitable2 的更多信息請參考第一章中的“安裝 Metasploitable2”秘籍。

此外,你的 Web 瀏覽器需要配置來通過 BurpSuite 本地實例代理 Web 流量。關于將 BurpSuite 用作瀏覽器代理的更多信息,請參考第一章的“配置 BurpSuite”一節。

操作步驟

為了向 BurpSuite Decoder 傳遞指定的值,高亮所需的字符串,右擊它,并選擇Send to Decoder。在下面的例子中,Cookie參數的值被發送到了解碼器,像這樣:

通過點擊Smart decode按鈕,BurpSuite 會自動將編碼識別為 URL 編碼,并將其解碼到編碼文本下面的區域中,像這樣:

如果 BurpSuite 不能判斷編碼類型,可以以多種不同編碼類型來手動解碼,包括 URL、HTML、Base64、ASCII Hex,以及其它。解碼器也能夠使用Encode as...功能來編碼輸入的字符串。

工作原理

BurpSuite Decoder 在和 Web 應用交互時提供了編碼和解碼的平臺。這個工具十分有用,因為 Web 上由多種編碼類型經常用于處理和混淆目的。此外,Smart decode工具檢測任何所提供輸入的已知模式或簽名,來判斷內容所使用的編碼類型,并對其解碼。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內容