就算簡單也不能輕視,接下來我們一起來看一下這道題的點評和詳細解析吧。
看雪評委crownless點評
這道題用來做簽到題再合適不過了,雖然原始碼簡單,但由於每次都會強制重設cookie,導致破解者必須寫指令碼來嘗試可能的組合,原理也不很難。
設計思路
這道題的設計思路其實很簡單,伺服器首先會返回5個key,均為0。希望破解者透過窮舉找出哪些key變為1時能獲取到flag。那麼5個key總共就是2^5=32次窮舉。
解題思路
本題解題思路由看雪論壇htg提供:
本題是一道Web題,需要採用Burp Suite:cookie欺騙、暴力破解。
工具準備
>>>>burpsuite
推薦下載:Burp Suite Pro2.1破解版-2019.08.27更新、BurpSuitePro
我主要採用的是v1.7.30版本,主要是如下3個檔案。
(1)burp-loader-keygen-jas502n.jar
(2)burpsuite_pro_v1.7.30.jar
(3)BurpHelper.jar
>>>>java虛擬機器
推薦下載JDK8:Java SE Development Kit 8 Downloads
解題思路
>>>>觀察:找“亮點”
檔案解壓後,就一個地址:http://154.8.174.214:8080/。
瀏覽器開啟後,僅看到:Not Admin。
檢視原始碼,沒有什麼有用的資訊。
藉助瀏覽器的“開發者工具”:切換到“Network”,重新整理頁面,點選Name欄裡的IP地址,在右側切換到“Header”欄能看到,返回的Response資訊。
亮點就在反饋的cookie上,我們發現,伺服器返回了6個cookie,其餘的沒有什麼特別的地方。
Set-Cookie:key0=0Set-Cookie:key1=0Set-Cookie:key2=0Set-Cookie:key3=0Set-Cookie:key4=0Set-Cookie:key5=0
經過初步觀察,我們發現,僅有兩條線索:一是,Not Admin;二是 6個Cookie值。
>>>>查資:補“知識”
之前沒有Web經驗,沒辦法,只好去找“ 度娘 ”,在百度裡面搜尋:“CTF Web”、 “CTF Web Cookie”、 “CTF Web Cookie欺騙”、“CTF Web Not Admin”等等。
惡補了一些Web滲透方面的知識,逐一去驗證,發現沒有一個辦法能用。什麼SQL隱碼攻擊、目錄檔案掃描等等。
但有一點價值資訊,Web滲透方面的軟體,大多都指向了Burp Suite,其功能挺全,現在就重點放在:BurpSuite軟體學習,下載軟體,搜尋BurpSuite資料:軟體CK、安裝、配置、Proxy、Intruder等。
搜尋並學習如何利用BurpSuite進行Cookie欺騙、暴力破解方面。
>>>>解決:定“方案”
回到第一點,我們根據伺服器反饋的訊息,重點在於cookie上面,所以獲取flag的關鍵還是在於如何利用cookie。
(1)安裝、部署BurpSuite(2)配置代理Proxy、修改瀏覽器的代理設定(3)Intruder設定,實施暴力attack(4)查詢反饋結果,找到返回資訊長度異常地方,尋找flag
解題過程
1、 安裝、部署BurpSuite
推薦使用burpsuite_pro_v1.7.30,我測試了好幾個版本,在執行過程中總是出現失敗,諸如無法執行、license總會空等等,基本上網路上遇到的、沒遇到的,都碰到了,安裝部署個軟體還真是費勁。具體可以搜尋網上資料進行配置。
2、配置代理Proxy、修改瀏覽器的代理設定
啟動軟體後,需進行代理設定,以便於BurpSuite能夠劫持瀏覽器訪問資訊。Proxy→Options→Add:設定埠號、IP地址,這個要記住。
在下一步,瀏覽器裡面進行代理設定的時候,需要填寫對應的埠和IP地址,建議為127.0.0.1:8888。
3、Intruder設定,實施暴力attack
(1)我們採用暴力破解方式,假定key0至key5的取值範圍為0-9。這樣就有10^6條,逐一進行測試。
(2)Intruder具體設定要點:
Intruder→Target:設定IP地址及埠分別為:154.8.174.214:8080Intruder→Positions:設定Attack Type為Cluster bomb,這個最重要,這個才能保證有所有的位置(key)取值進行交叉排列。Intruder→Payloads:針對每個key,選擇Simple list,並在Payload Options裡面選擇Add from list裡的0-9,此步驟的意思是,設定key的取值字元範圍為0-9,且只有一個字元。
點選Start Attack:
下面開始漫長的等待,過程中可以檢視結果,發現異常後,即可找到flag。
(3)Intruder具體設定步驟:
4、查詢反饋結果,找到返回資訊長度異常地方,尋找flag
經過測試,在11002條記錄裡能看到 length長度為329,明顯區別於295,點選檢視裡面的Response資訊,終於看到了:
flag{4E0844E2-705A-4374-9050-F56A10BA9E9B}
最終答案為:flag{4E0844E2-705A-4374-9050-F56A10BA9E9B}