前言
久違的來發文了╰(°▽°)╯
暑假廢了好久。因為自己一再的藉口,有好多應該記錄卻荒廢的靈感,現在想想不禁感到惋惜。畢竟也過去了許久,記憶隨著時間漸漸沖淡,因此前面的生活應該是無法補齊了,但未來的,希望自己能夠充實的飽滿的記錄下來。💪
正文
題:

解:
cookies 是一種紀錄網頁狀態的東西,我們可以透過開啟開發者工具點選橫幅中 application 裡的 cookies 看到正在瀏覽網站的 cookie。
根據這題的題目所述,我們在未做任何動作的情況下有一個名為 name 值為 -1 的 cookies。接著,如果我們依照輸入框中的提示輸入 snickerdoodle,再觀察 cookies 會發現 cookies 的值變為 0。因此我們可以合理懷答案藏在某一個 cookies 下。我們當然可以從 0~100 一個一個試,哪一個 cookies 值才是對的,但這種重複執行的事情可是電腦的專長鴨,因此我們何不讓電腦來幫我們呢?
這裡提供兩種方法,一種用 python、一種用 burpsuite
python
首先,我們需要載入 requests 這個 package。我們可以透過在 terminal 輸入 pip install requests 來下載,如果不確定自己是否有載過可以下 pip show requests 來確定。
這段程式碼的原理是利用迴圈不斷發送請求封包(如果不知道封包是甚麼,推薦看這部影片)並將遞增的 cookies 值夾帶在其中,接著檢查回應封包是否有 pico 這個字樣。

這邊也提供成大資安社的做法

概念是一樣的,不過他多了一些檢查,像是 allow_redirects=False 是當狀態碼為 301 時不轉址。雖然影片中沒有說為甚麼,但我猜是因為有些題目會利用轉址的方式將有答案的網頁跳轉掉,所以才會設定為強制不轉址。r.status_code 就是在察看狀態碼,方便之後除錯。
然後可以注意一點是 cookies 的值看似是數字,但我們在寫程式碼時要用字串,不然它會執行錯誤
Burpsuite
其實上述的 python 就是在做爆破,而 burpsuite 剛好也可以做到這件事。
我們將它的封包攔截下來並用 action 送到 instruder,將 cookies 的值反白,點選右側的 add 代表我的變數是 cookies 的值,如下圖

接著點選上方 tab 中的 Payloads,將 payload type 改為 numbers,代表我等等要遞增的是數字。再來將 Payload settings 中的 From、to 分別設為 0 和 100
最後按下右上角的 attack 執行會得到下方結果,然後通常長度最特殊的那個裡面就會有答案,這題抑是如此。我們點選 Payload 為 18 的 Response,找一下就可以看到 FLAG 了。


如果擔心這個方法不夠明確或是怕眼睛看到花掉,可以到 Settings 裡的 Grep-Match 或是 Grep-Extract,使用方式及成果如下

以下是設定說明
- 這裡會有許多預設的項目,不過我們不會用到,所以直接用 clear 全部刪除。
- 因為我們知道答案開頭一定包含 picoCTF{,所以我們將 picoCTF{ 加入。
- regex 中文為正規表達式 (學習資源),不過這裡沒這麼複雜,用 Simple string 即可
- 照理說 Case sensitive match(大小寫有差)應該勾起來,但就像上面說的這裡沒這麼複雜😂(我絕對不會說我只是懶得勾><)
- Exclude HTTP headers 其實不用勾,因為 FLAG 是寫在 HTML 裡,而 HTML 是在 body 中。至於我會勾,是因為我搞錯了 header 的範圍>~<
下面是 attack 後的成果

如果是使用 Grep-Extract,點選 Add 後會長下面這樣

以下是設定說明
- start after expression 是指從哪裡開始抓取。這裡我自己輸入 picoCTF{
- End at delimiter 是指抓取到哪裡。這裡我自己輸入 {
- Update config based on selection below 反白下方封包文字時,上面的 start… 和 End… 會自動填入文字

第一行我是手動輸入,第二行我是反白 I love 之後的結果

拿到 FLAG
後記
其實一邊寫我一邊也很感謝我的讀者以及 vocus 這個平台,因為在撰寫的過程我也會去思考這個地方為甚麼是這樣,有點像是更深度的學習。👍
最後想來和大家分享一些資源。
成大資安社 youtube
成大資安社成員大多來自 CTF 戰對 B33F 5OμP (念法為 beef soup。隊名中的 u 打不出來,如果有知道的讀者歡迎幫我打在留言區喔)。
成大資安社是一個力至於分享資安資源的社團,因此聽說連他們的社課都是可以自由去旁聽的喔(≧∇≦)ノ。當然,如果覺得成大太遠或是比較喜歡看影片學習(像我)的,可以透過上面貼的連結來上他們的社課。
今天撰寫的這題也是他們其中一堂社課時講到的喔
感謝您看到最後。為此,偷偷和您說一個好消息,聽說幫這篇按讚的,愛情和事業都會蒸蒸日上呦o(〃^▽^〃)o❤️