一、BurpSuite工具介紹
BurpSuite是用於攻擊web 應用程序的集成平台。它包含了許多工具,並為這些工具設計了許多接口,以促進加快攻擊應用程序的過程。所有的工具都共享一個能處理並顯示HTTP 消息,持久性,認證,代理,日志,警報的一個強大的可擴展的框架。BurpSuite能高效率地與單個工具一起工作,含如下工具箱:
Proxy——是一個攔截HTTP/S的代理服務器,作為一個在瀏覽器和目標應用程序之間的中間人,允許你攔截,查看,修改在兩個方向上的原始數據流。
Spider——是一個應用智能感應的網絡爬蟲,它能完整的枚舉應用程序的內容和功能。
Scanner[僅限專業版]——是一個高級的工具,執行后,它能自動地發現web 應用程序的安全漏洞。
Intruder——是一個定制的高度可配置的工具,對web應用程序進行自動化攻擊,如:枚舉標識符,收集有用的數據,以及使用fuzzing 技術探測常規漏洞。
Repeater——是一個靠手動操作來補發單獨的HTTP 請求,並分析應用程序響應的工具。
Sequencer——是一個用來分析那些不可預知的應用程序會話令牌和重要數據項的隨機性的工具。
Decoder——是一個進行手動執行或對應用程序數據者智能解碼編碼的工具。
Comparer——是一個實用的工具,通常是通過一些相關的請求和響應得到兩項數據的一個可視化的“差異”。
二、BurpSuite重放攻擊實驗
2.1 BurpSuite初始配置
首先下載BurpSuite,這里我所使用的是burpsuite v1.7.11,因為其他的版本下載之后都沒法進行破解使用。
下載好后打開軟件進行配置,首先進行監聽網絡選擇,打開proxy-options選項卡進行網段的選擇,這里可以添加想要監聽攔截的網段及其端口號,選好后勾選所選網段前的running選項,如下圖所示:
配置好BurpSuite之后,需要對訪問網頁的瀏覽器進行配置,使得瀏覽器處於BurpSuite的監聽攔截之下,不同的瀏覽器配置的地方不太一樣,但基本都是在工具-Internet選項-連接-局域網配置中,設置其代理服務器與BurpSuite監聽相同,如下圖所示:
此時瀏覽器訪問頁面就處於BurpSuite的監聽攔截之下,這時如果訪問頁面會出現如同掉線一般的瀏覽器持續等待響應,打開BurpSuite會發現其攔截了瀏覽器的頁面響應信息,將不需要的信息Forward過去,找到自己需要的信息,通過Forward頁面也會加載出相應的信息,如下圖所示是BurpSuite的攔截頁面:
2.2 BurpSuite重放攻擊
2.2.1 重放攻擊
重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊或新鮮性攻擊(Freshness Attacks),是指攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的,主要用於身份認證過程,破壞認證的正確性。它是一種攻擊類型,這種攻擊會不斷惡意或欺詐性地重復一個有效的數據傳輸,重放攻擊可以由發起者,也可以由攔截並重發該數據的敵方進行。攻擊者利用網絡監聽或者其他方式盜取認證憑據,之后再把它重新發給認證服務器。從這個解釋上理解,加密可以有效防止會話劫持,但是卻防止不了重放攻擊。重放攻擊任何網絡通訊過程中都可能發生。重放攻擊是計算機世界黑客常用的攻擊方式之一,它的書面定義對不了解密碼學的人來說比較抽象。
而通過學習我們知道防御重放攻擊最好的手段就是時間戳,簡單的說什么是時間戳呢,就是我們在訪問某些網站登錄時需要輸入的驗證碼,重放攻擊不能應對每次登錄時變化的驗證碼,因此若要用BurpSuite進行重放攻擊需要找一個不需要驗證碼的登錄網站。
2.2.2實驗過程
首先,根據上面對於重放攻擊的分析,我選定了途牛網進行實驗。
可以看到其登錄頁面不需要輸入驗證碼。
接着進行登錄,並且打開BurpSuite觀察攔截到的登錄信息,將不需要的響應Forward過去,找到重要的信息部分,攔截到的內容如下圖所示:
圈出的部分是我的登錄名和加密之后的密碼,記錄下這些信息就可以進行重放攻擊,再次訪問登錄頁面時,只需要再次放出請求就可以達到登錄的效果,而不需要進行用戶名密碼的輸入。
重放攻擊的方法如下,選擇攔截登錄信息單機右鍵選擇Send to Repeater進行重放攻擊,接着進入Repeater選項卡中觀察,可以看到request界面中出現了你將要重放攻擊的內容,單機go進行重放攻擊,在response界面當中出現了頁面的返回信息,代表了登錄驗證的成功,如下圖所示:
下面我們修改一下剛剛記錄的登錄信息再次進行重放攻擊看看結果會有什么不同,在這里我將用戶名刪去了幾位數字,因此登錄會失敗,通過Compare選項卡可以對比兩次登錄后的頁面響應情況,可以看到修改后與修改前的區別,如下圖所示:
三、實驗中的問題
問題1:最開始在選擇實驗網站的時候我選擇的是返利網,同樣是一個登錄不需要輸入驗證碼的網站:
但是當我進行頁面登錄信息攔截的時候卻發現該網站不響應我按下的登錄鍵,沒有進行任何的跳轉,因此我也沒有攔截到任何的登錄信息,這是網站為了防御重放攻擊而采取的防御手段嗎?原理是什么呢?
問題2:BurpSuite這個軟件的攔截使用我覺得不是很成功吧,如果真正作為攻擊手段去應用的話我認為太容易被受攻擊者發現了,或者我的使用還有什么不對的地方?