CTF學習HTTP協議--基礎認證

0x01 基礎鋪墊

  • 題目提示

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

0x02 WriteUp

  • 題目展示

點擊click後出現了登錄框

  • 分析

1.題目和認證登錄有關,我們先任意輸入admin/admin進行登錄嘗試。沒什麼反應。抓包看數據。可以看見一條特殊字符串Basic realm="Do u know admin ?,暫時沒有其他線索,我們假設用戶名就是admin,然後進行暴力破解

2.爆破之前我們先查看提交登錄請求的基本格式,因爲有時候數據包並不是單純的明文提交,可能做了加密處理。

3.整個登錄請求都在這裏,只有這個Authorization字段相對比較特殊,字符串格式xxxxxxxxx==,大概率爲Base64編碼,也就是說我們提交的賬戶密碼被編碼了,我們利用Burpsuite的Decoder模塊進行解密嘗試。第一步粘貼需要解密的內容,第二步點擊Decode as並選擇Base64即可獲得解密結果。發現我們提交的賬戶密碼變成了admin:admin這種格式提交上去了。

4.題目提供了附件下載,打開後是Top100字典。

5.我們將數據包發送到intruder爆破模塊

6.首先使用clear清楚默認標記,然後選中我們需要爆破的內容進行標記。

最終呈現的結果:

7.選擇payload,再點擊load加載我們剛纔下載的字典。

8.根據格式要求,添加前綴admin:

9.如果這時候直接爆破,那麼提交的請求是明文的,可以看見爆破過程沒有按照認證要求進行Base64編碼。

10.添加Base64編碼

11.取消Encoding勾選,如果不取消,那麼數據會被URL編碼,= 會被轉成%3d,這樣的話爆破是不會有結果的。因爲你提交了錯誤的數據請求。

11.都設置完畢後,點擊start attack進行爆破

12.爆破完了,我們點擊length選項,然後發現有一個長度和其他不一樣。

13.最終拿到我們所需要的Flag!

本題難度在於請求中字符串加密情況的處理和Burpsuite工具的爆破功能使用。

0x03 The End

關注我不迷路,每天學點CTF小知識!

轉載請註明出處!

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