藍鯨CTF-web-密碼泄露

藍鯨CTF-web之密碼泄露:題目鏈接

進入到題目環境之後,頁面顯示登陸表單和“false”字樣,先猜解一些密碼是什麼,經過一系列的猜解之後,頁面一直顯示flase。此時,查看網頁源代碼:

源代碼的註釋裏顯示了一個名爲password.txt的文件,現在我們可以去訪問一下這個文件,訪問之後,頁面顯示了很多條密碼,着很顯然是一個密碼字典:

這個時候我們需要利用工具和密碼字典進行暴力破解。現將頁面的內容拷貝到一個txt文本文件裏製作密碼字典,然後使用burpsuite進行抓包爆破

開始爆破過程,因爲密碼字典只有100多條密碼,因此爆破過程還是很快的,結束之後,點擊Length進行排序,排序之後我們可以清晰的看到經過爆破得到的密碼。

既然得到了密碼,現在返回到網頁提交一下密碼,提交密碼過程中,發現密碼長度爲7位,而密碼的input表單卻只能輸入5位,此時需要更改一下源代碼裏的input標籤的maxLength屬性值,改爲7.再次輸入密碼。

輸入正確的密碼點擊提交之後,頁面回顯信息“這裏沒有flag哦”

這怎麼整了?再回到burpsuite裏面,看一下剛剛爆破密碼之後的Response。

在爆破結果裏,有一個Set-Cookie字樣,它的屬性值看樣子是一個base64的編碼,此時我們進行解碼看一下:

解碼出來竟然是一個.php文件。。。再來訪問一下這個php文件。

訪問之後的頁面是這樣的,有一個瀏覽框,看到了留言框,首先我想到的是XSS漏洞,可是查看源代碼之後,發現並不是。先在留言框裏輸入信息看一下會是什麼情況。

留言之後,留言的信息會顯示在下方的留言板上。。。再想想,留言者這個地方很可疑,爲什麼會是guest呢?自動創建的嗎,還是默認的訪客用戶。

繼續使用burpsuite進行抓包,看結果:

抓到包之後,發送到Repeater,然後Go一下,我們可以看到執行之後的信息,頁面提示“你還沒有登錄,不能留言”。嗯?什麼情況,剛剛我已經是可以留言的啊!再仔細觀察,頁面中有一個標藍的Cookie屬性的屬性值,Cookie的屬性值是IsLogin=0。IsLogin的值爲0,這就說明了登錄的時候並沒有記錄登錄狀態,我們需要改爲IsLogin=1。

改爲1之後,點擊Go執行,此時頁面回顯信息“你沒有權限登錄”,和剛纔不一樣了,說明IsLogin的值改爲1是正確的,可是這個權限到底是指什麼權限,在回頭看抓包的代碼信息。抓包的信息裏有一段“userlevel=guest”,這個guest有點意思了,訪客用戶,是要改成管理員賬戶嗎,現在來改成root執行試一下:

測試通過,確實是由於用戶權限引發的問題,執行之後我們可以看到,Response裏面顯示了一個flag,不過這個flag看起來有點怪,好像是什麼編碼,但又好像是部分編碼,使用%號開頭的編碼像是URL編碼,放在工具裏進行解碼,看結果:

解碼之後終於看到flag 了,這個flag再不對我就瘋掉了。

測試通過,end結束。

總結:這道題目感覺很有水平,題目設計的轉折點也是比較合理的。題目首先得突破點是第一個網頁的源代碼,通過源代碼裏“password.txt”的提示信息,然後進行密碼爆破獲取密碼,之後再根據抓包的信息進行base64解碼,然後在根據解碼信息去訪問指定的頁面,我覺得直到這裏纔是關鍵,所有的結果都是通過修改Cookie的登錄記錄信息去獲取,因爲沒有登錄的狀態,我們去改變IsLogin的值,因爲沒有權限登錄,我們去改變登錄的用戶名,最後才獲取到了flag,然鵝這個flag還是經過編碼的,解碼之後纔是最終結果。所以感覺這樣一道題目設計的非常有腦洞,很鍛鍊思維。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章