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小知識!
轉載請註明出處!