2024-08-20|閱讀時間 ‧ 約 9 分鐘

picoCTF_cookies 實戰解析

前言

久違的來發文了╰(*°▽°*)╯

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

正文

題:

解:

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的值,如下圖(如果對burpsuite不熟的可以看這篇)

接著點選上方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的範圍>~<(學習資源1學習資源2)

下面是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❤️


分享至
成為作者繼續創作的動力吧!
內容總結
picoCTF平台
5
/5
© 2024 vocus All rights reserved.