i春秋CTF題庫---Who are you詳解

1、進入鏈接,提示說不是管理員
i春秋CTF題庫---Who are you詳解
我們查看源代碼,也沒有任何線索
2、查看請求頭
既然什麼線索沒有我們不妨在請求頭裏面找找看。接下來我們抓包看一看,
i春秋CTF題庫---Who are you詳解
3、解碼cookie
在cookie那裏有一個角色的base64編碼字符串,開始提示不是說沒有管理員角色的憑證嗎?這個應該就是嘍。線索找到,我們將其解碼,
i春秋CTF題庫---Who are you詳解
猜想thrfg是經過rot13加密過得。
Rot13加密原理:迴轉13位,一種簡易的置換暗碼。ROT13也是過去在古羅馬開發的凱撒加密的一種變體。ROT13是它自己本身的逆反;也就是說,要還原ROT13,套用加密同樣的演算法即可得,故同樣的操作可用再加密與解密。

我們將得到的thrfg驗證後發現結果是guest。
i春秋CTF題庫---Who are you詳解

win上是來賓賬戶,幾乎沒多大權限。所以我們嘗試admin經過rot13加密,然後替換掉thrfg,再經過base64加密傳給cookie。
i春秋CTF題庫---Who are you詳解

我們得到一串源嗎的提示,需要post上傳兩個文件。並且我們現在擁有了管理員的權限。
4、構造上傳語句
試試直接上傳php***。這時提示nonono:

i春秋CTF題庫---Who are you詳解
說明在寫入數據的時候應該觸發到了什麼鬼。既然是上傳文件,後臺處理的時候肯定利用了函數寫入。在上傳時寫入文需要有fopen fwrite fclose等等系列函數,還有一種file_put_contents()函數,它與依次調用上面三個函數功能一樣,並且還這個可以允許數組。我們這裏暫時不知道他們用的那個函數。所以我們應該將可上傳的數據類型都嘗試一下,所以我們再來嘗試上傳一個數組,可以將繞過語句改爲
Filename=1.php&data[]=<?php phpinfo();?>
i春秋CTF題庫---Who are you詳解
可以看到,頁面返回給我們了文件上傳後的路徑,證明利用的file_put_contents()函數寫入的文件。
5、獲得flag
這時我們去訪問得到的文件路徑就可以看到flag
i春秋CTF題庫---Who are you詳解
自我感覺此題難點有三:
(1)當我們打開題目時,不知道去幹什麼。這時應該嘗試抓包查看頭部信息,否則想破頭(如此題)
(2)當我們得到base64解密後的字符串時,不知道代表着什麼。這裏需要對密碼有着充足的理解。特別是不知道rot13的,容易想破頭。
(3)在我們得知能夠上傳文件的時候,不知道該如何正確的去上傳。這裏需要明白上傳寫入的函數。可能大多都對上傳數據寫入的函數fopen(),fwrite(),fclose()函數比較熟,但是不知file_put_contents()函數,此題你就會想破頭。
總結:積累很重要啊

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