感覺再不寫些甚麼筆就要開始生鏽了,以這樣的心情決定開啟 picoCTF writeup 系列。
也是因為最近生活過得平平淡淡,沒什麼值得和大家分享的,只好來寫寫我覺得有趣的 picoCTF writeup。
這篇是這系列的第一篇。希望自己可以用簡顯易懂的方式帶著各位享受尋找寶藏(flag)的樂趣。
當我們點開題目給的網址(bing如果打不開請用chrome)應該會看到一串文字和一張 gif 圖,如下所示:
看到這邊對於有看過類似概念題型的人應該會覺得這題很簡單,而且越解下去越覺得妙趣橫生,不過對於沒有概念的人那就只能通靈了。
我自己是屬於後者,因此我選擇使用魔法,而咒語如下:
Who are you? [WriteUp] | PicoCTF [Web Exploitation] | by Ngooi En Kai | Medium
如果不想念英文咒語或想看詳盡版的可以繼續往下讀(拜託了QQ)
這題它其實是在考解題者對於 http header(維基百科有詳細介紹)的熟悉度。
首先它說它只相信 PicoBrowser,而告訴伺服器客戶端瀏覽器是哪種的是 User -Agent,預設是 Mozilla/5.0。既然題目跟我們說它只信任 PicoBrowser,那我們就依照它的要求改成 PicoBrowser。
改的方式有很多種,我自己用的是 burpsuite,它可以讓我們任意修改 http header。操作如下:
Raw裡的就是封包,藍字的是 http 欄位
在 repeater 中改好 User-Agent 後,按左上角的 send,右邊即會看到回傳回來的封包。長這樣......
最重要的地方我已經框起來了。
它說它不信任從其他網站來的人,這時我們需要用到 Referer 這個可愛的東西。它的作用是告訴伺服器說我們是從哪個網站轉過來的。比方說,我們用 google 查詢方格子,當我們點選方格子的連結時攔截封包,即可以看到 Referer 後面寫著 www.google.com。
於是乎我們在 Connection 前面加一欄 Referer,並在其後面貼上題目給的網址。
以為這樣就結束了嗎,那就大錯特錯了。接下來才是好玩的地方。因為每當我們修改完一次,題目就又會給出新的要求。當我們感到煩不勝煩時,才會終於把 flag 給我們看。不過,我認為這也是它的趣味所在。
接下來的動作基本都是一樣,在此就不多做贅述。我直接講等等還會用到那些 http 欄位,剩下的部分就交給各位慢慢去享受啦。
最後一個講解一下,因為題目要求造訪者要是在瑞士,所以我們去網路上找一個瑞士的 ip偽造自己在瑞士。
而如何找到一個在瑞士ip呢?
我自己是直接查 Sweden Website,然後把找到的網址用Linux ping 或 nmap 掃一下就可以拿到了。還有一個小秘訣,只要網域裡有 .se 的基本上就是 Sweden Website了。
好,我們接續下去。
做到這邊基本上就結束了。往下滑,就會非常開心的發現我們已經拿到 flag 了(完結,灑花╰(*°▽°*)╯)
做完這題讓我想到最近很夯的零信任架構,到底有多紅呢?資安大會上光一天就有三個議程是在講零信任架構了。可想而知這個概念是多麼受到現在資安界的重視。
從這題就可以看見它的重要性了。不管我們設多少道門檻,駭客終究還是會有辦法將它繞過去。因此才會有,對所有請求皆保持不信任、對權力的釋放皆以最低限度為準等概念出現。
好啦,老樣子,在這邊偷偷告述大家一個秘密。
聽說幫這篇按讚的會好運一整天喔🥰