CTFHub Http協議

1、請求方式

由題目可知,考察的是HTTP請求方法,在Http/1.1協議中定義的八種方法爲GET, POST 、HEAD、OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

進入題目後,發現提示,HTTP Method 是可以自定義的,並且區分大小寫,直接用 CTFHUB 方法請求 index.php 即可拿到 flag。

 

2、302跳轉

302是Http協議的臨時重定向狀態碼。進入頁面後發現沒有任何消息,按f12進入控制檯,點擊Give me Flag按鈕,發現頁面沒有任何變化,但其實頁面已經發生了跳轉,用curl訪問新的跳轉頁面即可得到flag值。

3、cookie

訪問題目頁面發現給的提示是“hello guest,only admin can get flag”,我們掛上 BurpSuite 之後重新訪問題目頁面,在cookie發現admin=0字段,猜測服務器可能是根據此字段來判斷瀏覽者身份。

我們把這個請求放入“repeater”中修改Cookie: admin=0爲Cookie: admin=1後發送,發現在響應頁面裏包含Flag。

4、基本認證

在HTTP中,基本認證(英語:Basic access authentication)是允許http用戶代理(如:網頁瀏覽器)在請求時,提供用戶和密碼的一種方式。詳情請查看 https://zh.wikipedia.org/wiki/HTTP基本認證。

進入題目頁面,發現點擊click會出現認證頁面,

掛上 BurpSuite 的代理,隨便輸個賬號密碼(比如: 賬號aaa 密碼 bbb)訪問,查看 HTTP 響應報文:

得到提示 do u konw admin ?,於是猜測賬號是 admin , 那麼接下來就只需要爆破密碼了。注意看到 HTTP 請求頭部的 Authorization 字段,後面的YWFhOmjiYg==用base64 解碼後是 aaa:bbb,也就是我們之前輸入的賬號:密碼。

 使用 BurpSuite 進行基礎認證爆破

(1)將報文發送到 Intruder, 將 Basic後面 base64部分添加爲payload position

(2)在 Payloads選項卡下,選擇 Payload Type爲SimpleList,然後在 Payload Options 中點擊 load 加載密碼字典

(3)Payload Processing -> Add-> Add Prefix(添加前綴)-> 輸入 admin:

    Payload Processing -> Add-> Encode(添加一個編碼方式)-> 選擇 Base64 Encode

(4)Payload Encode 取消勾選的 URL-encode, 不然你會看到base64之後的=會被轉成 %3d ,你就算爆破到天荒地老也不會出來

(5)Start Attack ,然後按 Length 排序,並看到狀態碼出現200的,即爆破成功

查看 Response,得到flag

5、響應包源代碼

題目頁面打開後是一個網頁版的“貪吃蛇”小遊戲

根據題目要求是查看響應包源代碼,可以使用burpsuite,也可以使用瀏覽器自帶的開發調試工具,按f12進入調試界面,查找flag中的關鍵字段cfthub,就可以得到結果。

 

 

 

 

 

 

 

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