picoCTF_Insp3ct0r/Bookmarklet_writeup

更新於 2024/05/08閱讀時間約 6 分鐘

前言

本來打算是一天一題的,但前天興致高昂,一不小心就寫了兩題。

不過,也因為這兩題相對簡單,所以我才能完成這樣的任務。要知道在 picoCTF 平台裡,難的事非常難。我就曾經為了一題足足花了兩天才弄懂。

最後在開始之前和大家分享一個挑題的小技巧。

如果是初學者,可以挑按讚趴數高的,這種題會相對簡單,就如今天要分享的這兩題。

如果是有基礎的人,大可從自己擅長的領域下手。這樣可以使自己看到不一樣的世界。




Insp3ct0r

都說學資安需要先學會通靈,這題就是很典型的例子。

先來看看題目敘述。

題述


  • linkpicoCTF - picoGym Challenges
  • Description:Kishor Balan tipped us off that the following code may need inspection: https://jupiter.challenges.picoctf.org/problem/41511/ (link) or http://jupiter.challenges.picoctf.org:41511
  • hint1:How do you inspect web code on a browser?
  • hint2:There's 3 parts


其實題目提示的很明顯,他就是要叫我們檢查網址中網頁的 code。不過,要怎麼檢查呢?

開始解題

網頁不外乎就是由 HTML、CSS、Javascript 這三種標籤語言所組成。

如果我們想看這些 code 可以按 F12或按右鍵檢查,右側會碰出看起來很複雜的東西,那個就是 HTML,有的時候也會看到 CSS,很少會看到 Javascript。

會說需要通靈就是在這裡。

我知道這種題目通常會把 flag 藏在註解裡,所以我把 HTML 裡的夾層通通打開。果然,在最下面的地方藏著 flag。正當我暗自竊喜時,定睛一看,他只給了我三分之一個 flag。檢查了老半天也檢查不出個所以然來。當下心想,這鬼才知道另外的三分之一在哪。

後來看了其他人的 writeup 後,一種點點點的心情油然而生。後面就讓我說說這題的作者他的出題邏輯到底是甚麼吧。

回到最一開始,網頁是由 HTML、CSS、Javascript 組成。既然 HTML 檢查完了,那換CSS 和 Javascript 。這題也非常好心的將這兩個的檔案以連結的方式夾在 head 標籤內。點開後,滑到最下方就可以分別拿到另外的三分之一。

結語

他這題不過是想考「網頁是由 HTML、CSS、Javascript 組成」這麼一個簡單的概念而已。而且其實,就算看不懂 HTML、CSS、Javascript 也沒關係,我們只要會找東西就好。所以我也才會說看完writeup 後,會有一種點點點的心情油然而生。




Bookmarklet

這題的含金量比上一題的還高。

想解這題必須要有 HTML、Javascript 的先備知識。

讓我們一起看看這有趣的一題吧。

題述


  • linkpicoCTF - picoGym Challenges
  • Description:Why search for the flag when I can make a bookmarklet to print it for me?Additional details will be available after launching your challenge instance.
  • hint1:A bookmarklet is a bookmark that runs JavaScript instead of loading a webpage.
  • hint2:What happens when you click a bookmarklet?
  • hint3:Web browsers have other ways to run JavaScript too.


他說他既然都已經印書籤給你了,你為甚麼還要去找 flag 呢?

很顯然地它的 flag 應該是藏在書籤裡。

再來給大家看一下網址開起來長啥樣

raw-image

下面有一串 javascript 的程式碼,而且往下滑還發現,題目非常好心的幫我們把 flag 給解碼出來了。(應該也是因為不想讓我們直接看出答案OwO)

而究竟這串程式碼和書籤有甚麼關係?又我們要怎麼開啟他所謂的書籤呢?請繼續往下看。

開始解題

其實這題有兩種解法。

第一種解法是我先想到的。

我就不管甚麼書籤的。反正我只要想辦法把它解碼出來的 flag 給印出來就好,所以我就開了一個 HTML檔想要做一個簡易版網頁。之後我又上網查如何將 javascript 的變數傳給 HTML。結果發現,其實我們可以用<script></script>將 javascript 的 code 整個包起來,再將其直接放入 HTML 的 body 裡就可以執行 javascript 了。

長成這樣......

raw-image

最上面幾行雖然長得很令人退避三舍,不過那只是 HTML 的標準框架。只要在 vscode 的 HTML 檔裡打一個驚嘆號在按下 enter 就會咻一聲的碰出來了,或是去網路上找一錠都複製的到。

中間被<script></script>夾住的就是我們今天的主角啦。我們只要將網站中的 code 複製過來即可。

運行起來後我們就會開心的拿到 flag 啦ヾ(≧▽≦*)o

第二種方法應該算是正解。

因為很好奇其他人是怎麼解的,所以上網找了一下別人的 writeup,發現到了第二種神奇的做法。

  • 開啟 chrome 的書籤管理員
  • 新增一個書籤
  • 名稱隨便取,網址內貼上 javascript 的程式碼
  • 在新分頁開啟後就會看到 flag 了
raw-image


因為我已經新增好了,所以我這邊展示出的截圖是編輯書籤。

大結語

其實這篇昨天就已經打了一半,會拖一天才發是因為昨天去練機車練到太晚來不及發😅幸好今天機車駕照拿到了,這篇也打完了。(灑花灑花o(〃^▽^〃)o)

最後祝大家行車平安❤️

內容總結
picoCTF平台
0
/5
avatar-img
16會員
104內容數
有別於未付費的文章,專題區的文章偏向愛情短篇小說,較有戲劇性,篇幅也會較長;未付費文章會偏向極短篇小說,並且以類似散文的手法寫作
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
周濡墨的沙龍 的其他內容
感覺再不寫些甚麼筆就要開始生鏽了,以這樣的心情決定開啟 picoCTF writeup 系列。 也是因為最近生活過得平平淡淡,沒什麼值得和大家分享的,只好來寫寫我覺得有趣的 picoCTF題目 writeup。 這篇是這系列的第一篇。希望自己可以用簡顯易懂的方式帶著各位享受尋找寶藏(flag)
5/5picoCTF平台
感覺再不寫些甚麼筆就要開始生鏽了,以這樣的心情決定開啟 picoCTF writeup 系列。 也是因為最近生活過得平平淡淡,沒什麼值得和大家分享的,只好來寫寫我覺得有趣的 picoCTF題目 writeup。 這篇是這系列的第一篇。希望自己可以用簡顯易懂的方式帶著各位享受尋找寶藏(flag)
5/5picoCTF平台
本篇參與的主題活動
安往公司走去,陽光明媚,微風輕拂,是夏季難得的好天氣。僅十分鐘之遙的距離,一步步放大在眼前的大樓場景,愈清晰愈顯壓迫感。 「要是能往後跑走就好了。」這些年來,安不只一次這麼想。那為什麼不這麼做呢?
Carry Kuo 透過文字將自己的職涯經歷與心得化為對他人的啟發。他的作品聚焦於「第一次」的挑戰,特別是那些初入職場、初當主管、初創業的朋友。CK 希望用自己的經歷幫助更多人在職涯迷霧中找到方向。在這次的訪問中,我們將探索他的創作起點、核心理念與未來的創作規劃。 創作的起點:從迷惘中找到力量
上上週的自媒體新手講座結束了,感謝大家來聽,可惜時間有限,沒辦法講更深入,真的對大家有點抱歉。 我知道有同學時間撞到,沒辦法來聽。 所以我做了這份「超懶人包」跟「懶人包」,希望能幫大家節省時間。
哈囉大家好,我是黑貓老師 😎 這篇是我前幾個禮拜講座的懶人包的第二 part。 主要是聊聊剛起步的創作者在流量不多的時候,有什麼變現的機會。
安往公司走去,陽光明媚,微風輕拂,是夏季難得的好天氣。僅十分鐘之遙的距離,一步步放大在眼前的大樓場景,愈清晰愈顯壓迫感。 「要是能往後跑走就好了。」這些年來,安不只一次這麼想。那為什麼不這麼做呢?
Carry Kuo 透過文字將自己的職涯經歷與心得化為對他人的啟發。他的作品聚焦於「第一次」的挑戰,特別是那些初入職場、初當主管、初創業的朋友。CK 希望用自己的經歷幫助更多人在職涯迷霧中找到方向。在這次的訪問中,我們將探索他的創作起點、核心理念與未來的創作規劃。 創作的起點:從迷惘中找到力量
上上週的自媒體新手講座結束了,感謝大家來聽,可惜時間有限,沒辦法講更深入,真的對大家有點抱歉。 我知道有同學時間撞到,沒辦法來聽。 所以我做了這份「超懶人包」跟「懶人包」,希望能幫大家節省時間。
哈囉大家好,我是黑貓老師 😎 這篇是我前幾個禮拜講座的懶人包的第二 part。 主要是聊聊剛起步的創作者在流量不多的時候,有什麼變現的機會。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
BinWalk 是一個用於分析檔案、逆向工程和提取韌體映像檔的工具。
Thumbnail
“I was once afraid of people saying, “Who does she think she is?” Now I have the courage to stand and say, “This is who I am.”
Thumbnail
當我們覺得受困, 不要因為經歷掙扎就去攻擊別人, 就覺得別人必須因此受罰。
Thumbnail
《你忘記了,但身體還記得》 我曾諮詢過一位個案,起先他一樣陳述生命不同事件對他的影響,我一邊專心聽,一邊詢問幾個問題,就在他回答時忽然靈感乍現:「從小到大你曾在5-7月經歷過什麼重大轉折嗎?」我問。 他愣住了告訴我:「老師,我的父母離婚在六月。」
Thumbnail
占星學中的十顆星,日月水金火,木土天海冥,分別代表一個人的顯意識意志(太陽)、潛意識情緒(月亮)、心智溝通(水星)、審美觀喜好(金星)、行動力性驅力(火星),這五顆稱作內行星,屬個人範疇; 另外五顆外行星則分別掌管:社會資源(木星)、社會制約約束(土星)......
Thumbnail
Everyone in this world has no smooth life; on the contrary, we must always live next to failure.
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
BinWalk 是一個用於分析檔案、逆向工程和提取韌體映像檔的工具。
Thumbnail
“I was once afraid of people saying, “Who does she think she is?” Now I have the courage to stand and say, “This is who I am.”
Thumbnail
當我們覺得受困, 不要因為經歷掙扎就去攻擊別人, 就覺得別人必須因此受罰。
Thumbnail
《你忘記了,但身體還記得》 我曾諮詢過一位個案,起先他一樣陳述生命不同事件對他的影響,我一邊專心聽,一邊詢問幾個問題,就在他回答時忽然靈感乍現:「從小到大你曾在5-7月經歷過什麼重大轉折嗎?」我問。 他愣住了告訴我:「老師,我的父母離婚在六月。」
Thumbnail
占星學中的十顆星,日月水金火,木土天海冥,分別代表一個人的顯意識意志(太陽)、潛意識情緒(月亮)、心智溝通(水星)、審美觀喜好(金星)、行動力性驅力(火星),這五顆稱作內行星,屬個人範疇; 另外五顆外行星則分別掌管:社會資源(木星)、社會制約約束(土星)......
Thumbnail
Everyone in this world has no smooth life; on the contrary, we must always live next to failure.