最近想說來練習CTF的東西🥺 偶隔膜覺得CTF好難哇😰 只能先從pico的簡單題目開始惹💩 有大佬說寫writeup會很有幫助😈 先來試試看窩🥶
😺Obedient Cat
- Category: General Skills
- Score: 5
💁Description
This file has a flag in plain sight (aka “in-the-clear”). Download flag
🙆Solution
下載下來然後打開🥺
🙊Mod 26
- Category: Cryptography
- Score: 10
💁Description
Cryptography can be easy, do you know what ROT13 is? cvpbPGS{arkg_gvzr_V’yy_gel_2_ebhaqf_bs_ebg13_nSkgmDJE}
🙆Solution
去Google一下原來 ROT13 是 rotate by 13 places 的意思,是相差十三個字母的凱撒加密,拿去線上CTF小工具解一下,結果全部變小寫🤢,眼睛不好看不出來,只好查解答🙊,原來 ROT13 可以用一個叫做nkf
的軟件變回來,用法:
|
|
nkf
是一個漢字的轉換器的樣子😮 不過它還可以用參數-r
轉換 ROT13
。
🐍Python Wrangling
- Category: General Skills
- Score: 10
💁Description
Python scripts are invoked kind of like programs in the Terminal… Can you run this Python script using this password to get the flag?
🙆Solution
好像要執行臘個Python檔案的樣子🐌 偶把他們(三個檔案)全部載下來,生氣氣載是ㄗㄞˋ不是ㄗㄞˇ,打字都打不出來🤧,它的意思是要用這個小程式解密flag.txt.en
的樣子,用一下
|
|
它寫說:
|
|
所以就用醬子:
|
|
應該會有答案跑出來😲😲 它希望偶用pico的小黑黑terminal的樣子,不過偶都本末倒置🤕🤕
🏁Wave a flag
- Category: General Skills
- Score: 10
💁Description
Can you invoke help flags for a tool or binary? This program has extraordinarily helpful information…
🙆Solution
好像要執行臘個程式的樣子🐌 先把它載下來,可以練習用 wget
:
|
|
如果直接執行的的話📫 它會說不行🥺 所以幫它加一個執行的權限😈
|
|
再來執行🥺
|
|
它寫說:
|
|
所以就用醬子:
|
|
應該會有答案跑出來😲😲
👁information
- Category: Forensics
- Score: 10
💁Description
Files can always be changed in a secret way. Can you find the flag? cat.jpg
🙆Solution
先把😺圖片載下來,結果看不出神模東西🐌 開始查別人的writeup😕 原來可以用這個網頁看檔案裡面可以顯示的字,也可以用 strings
的指令na,只是因為太大惹🥺,所以偶的terminal
會看不到上面的字,所以可以加一個-10
只顯示那些一行大於 10 個字的:
|
|
發現裡面有這個東西
:::spoiler 很像xml的東C
|
|
:::
然後裡面的這個是一個base64編碼的文字👿
|
|
可以到線上轉一下或是練習指令:
|
|
應該會有答案跑出來😲😲 葛是醬擠偶真的想不到耶🥺🥺
😻Nice netcat…
- Category: General Skills
- Score: 15
💁Description
There is a nice program that you can talk to by using this command in a shell:
$ nc mercury.picoctf.net 22342
, but it doesn’t speak English…
🙆Solution
這個題目要偶們用nc
這個小工具連到 mercury.picoctf.net 22342
的樣子,去查惹一下,nc
是用TCP
或UDP
協定對端點進行讀寫的小工具,用法就像題目寫的那樣子。
連上去之後它吐惹很多數字出來,猜不出來是葛摩🙄 只好看一下提示,原來是ASCII
的十進位數字🙂 寫一個小Python來轉換😎
|
|
應該會有答案跑出來😲😲
👩🏭Transformation
- Category: Reverse Engineering
- Score: 20
💁Description
I wonder what this really is… enc
|
|
🙆Solution
本來以為 enc
的檔案是要拿來執行的🥵 結果只是一個文字檔,看惹提示還是不懂🔧,只好去查別人的write🆙,原來題目的意思是檔案裡的字串是flag
經由下面ㄉPython程式轉換出來的,所以偶們要按照程式的規則推回去😰
結果偶發現別人解答的程式跑惹會報錯,題目的轉換程式也是🥺,看起來問題是這些unicode
編碼的東西用 Python
的 ord()
轉出來剩下8bit但是實際上應該是16bit才對,提示又說需要找一些線上編碼的工具,所以偶先拿去這個網頁轉成樣子怪怪的十六進位數字編號,然後寫一個步驟相反的小Python🐍
題目的Python會把 flag
兩個兩個字一組,第一個字左移8位(位元運算)然後轉成ASCII的數字編號 加上 轉成ASCII數字編號的第二個字,再把這個東西由數字編號轉成一個字元(不過偶的chr()
是不能接收大於256[8bit]
的參數na🥺🥺)。
以 flag 的前兩個字舉例🤬
原本的字 | ASCII的編號 | 第一個字左移8bit | 二進位 |
---|---|---|---|
p | 112 | 28672 | 111000000000000 |
i | 105 | 105 | 000000001101001 |
編號(28672 + 105)的 Unicode 應該會是灩 |
所以逆著做就需要先把一個字變成兩個,用右移推出第一個字,第二個字偶是用取模把後8個bit用粗乃na,可能不是很好🤒🤒 然後再把它們各自轉回字元🙊 醬子應該就有答案惹💋
|
|
📺Stonks
- Category: Binary Exploitation
- Score: 20
💁Description
I decided to try something noone else has before. I made a bot to automatically trade stonks for me using AI and machine learning. I wouldn’t believe you if you told me it’s unsecure! vuln.c nc mercury.picoctf.net 33411
🙆Solution
唉這個好難哇🥺🥺 這個題目叫偶們連到 mercury.picoctf.net 33411
它還有附這個程式 vuln.c
,要從裡面找到有問題的地方🤕 偶太呆只好去找別人的Write🆙,偶有看惹 Kasimir123 大大和 Dvd848 大佬的,偶的程式是用他們的改的🤢
vuln.c
的問題在這裡:
|
|
在 buy_stonks
函式裡的 printf
少惹格式化字符串的參數,這個叫做 Uncontrolled format string
格式化字串漏洞的樣子,如果偶們使用 %x
或 %X$p
(X
為任意正整數),可以把堆疊上的資料打印出來。
|
|
程式前面有把🏁 [api檔案] 讀到 api_buf
這個字串裡面,所以可以打出來😻 偶們先在 terminal
試試看🧑💻
|
|
不過 % 出來的東西是16進位的資料然後有八位,不過偶不知到為隔膜是八位,因為書裡面的有十六位,不過如果要把這些數字轉成字串的話可以用 pwntool
裡面的 p32()
,如果有十六位就用 p64()
,它還會幫忙把字串倒過來,好像是因為Linux是小頭端的關西,這裡有危機百科的大頭端和小頭端。
還有要注意的地方就是pwntool
的 recvline
回傳的資料是byte的型態所以要用.decode()
才會變成字串ㄛ📫 p32()
也是ㄛ🤭
|
|
應該會有答案跑出來😲😲
🌺GET aHEAD
- Category: Web Exploitation
- Score: 20
💁Description
Find the flag being held on this server to get ahead of the competition http://mercury.picoctf.net:15931/
🙆Solution
先把網頁打開,然後它會長醬子🥺
兩個按鈕 | HTML |
---|---|
可以看出來紅色的按紐是用 GET 方法,藍色的是用 POST ,然後偶就不會惹🤧 偶看惹 rschauhan2199 和 abbas 的Write🆙 原來題目 get aHEAD 的意思是用HEAD方法請求,可以用這些方法:
cURL
|
|
用 curl
這個工具加上 -I
的參數發一個 HEAD
請求。
Burpsuite
這個要先安裝,偶孤陋寡聞沒用過🤕 先去官網下載來安裝。其實偶搞不清楚這個軟件要怎摸用na😭😭
還好有 rschauhan2199 大大做的教學影片🥰🥰可能第一次使用需要設定一些東C,接下來的步驟大guy是醬子:
開一個 Project
,然後選 Proxy
⏭️ Intercept
, 確定第三個按鈕 Intercept in on
是藍藍的,然後按 Open Browser
,接下來會打開 Brupsuite 的神奇 Chromium😈
然後就把網址貼過來↩ 接下來它應該會一直轉轉轉,偶們在回到 Brupsuite
🔙
可以看到請求ㄉ資訊,不過這個是可以修改的窩,修改完按 Forward
就會送粗惹喔~嘗試過藍色和紅色的按鈕之後可以發現它們的差別只有一個是 GET
♂️ 一個是 POST
♀️ 所以偶們在按一次按鈕,然後把文字匡裡的 GET
改成 HEAD
ㄛ⛎
按下 forward
之後,可以到 HTTP history
的分頁看結果,應該是最後一個請求,在 Response
那裡應該會有答案ㄛ☯
也可以右鍵 Send to Repeater
然後在上面的 Repeater
分頁再做一次窩🔱
Python requests
|
|
醬子也可以ㄛ😲😲
🍻Cookies
- Category: Web Exploitation
- Score: 40
💁Description
Who doesn’t love cookies? Try to figure out the best one. http://mercury.picoctf.net:21485/
🙆Solution
先把網頁打開,然後它會長醬子🥺
挖結果偶又不會惹🥺 偶去看惹 vivian-dai 大大的Write🆙 還有 chrissypoo 的影片。
這題如果偶們在輸入匡裡面輸入 snickerdoodle
會發現跑到這裡 :mage:
偶們可以按 f12
之後在上面的分頁選 Application
再左邊的地方選 Cookies
可以看到它有使用一個叫做 name
的 cookie
,偶們如果把 name
的值從 $0$ 改成 $1$ ,再從新整理網頁,會發現跑到新的一頁惹🤭 所以偶寫一個小 Python
去讓它試🐍
|
|
醬子應該就會有答案惹💩
👹Insp3ct0r
- Category: Web Exploitation
- Score: 50
💁Description
Kishor Balan tipped us off that the following code may need inspection: https://jupiter.challenges.picoctf.org/problem/44924/ (link) or http://jupiter.challenges.picoctf.org:44924
🙆Solution
那個因為偶覺得Web比較好玩💋 所以都先做魏ㄅ的題目🥂 題目要偶們按右鍵檢查這個網頁的樣子🥶
在 HTML
的部份我們可以看到 flag
的第一個部份,然後點上面 Sources
的分頁,可以看到 Javascript
和 CSS
的檔案,裡面有剩下的 Flag
。
醬子應該就會有答案惹💩
😼Scavenger Hunt
- Category: Web Exploitation
- Score: 50
💁Description
There is some interesting information hidden around this site http://mercury.picoctf.net:27393/. Can you find it?
🙆Solution
題目要偶們按右鍵檢查這個網頁的樣子🥶
在 HTML
的部份我們可以看到 flag
的第一個部份,然後點上面 Sources
的分頁,可以看到 CSS
的檔案,裡面有第二個部份的 Flag
,在 JavaScript
的檔案裡面它寫說 /* How can I keep Google from indexing my website? */
偶有看這個網頁,葛4它沒有用 meta
標籤,回應的 http header
偶也沒有看到 X-Robots-Tag
的東C,原來用 robots.txt
也可以,所以偶們試試看前往 http://mercury.picoctf.net:27393/robots.txt 可以看到第三部份的 flag
。
接著它說 # I think this is an apache server... can you Access the next flag?
,這個偶就想不粗來惹所以還是去看惹別人的 Write🆙
,這個倫寫的好仔細哈哈😙😙 ,.htaccess
是 Apache
用來設置權限規則的檔案,所以偶們訪問 http://mercury.picoctf.net:27393/.htaccess
接著它說 I love making websites on my Mac, I can Store a lot of information there.
偶就想到 .DS_Store
,偶只知道用 Mac 的倫都會有這個東C,它是做神摸的偶不珠到😂。
醬子應該就會有答案惹💩
看惹 Dvd848
的 Write🆙
才知道可以直接用 dirsearch
這個工具暴力去搜有神摸檔案😇 不過會花一些時間😈
🐾where are the robots
- Category: Web Exploitation
- Score: 100
💁Description
Can you find the robots? https://jupiter.challenges.picoctf.org/problem/60915/ or http://jupiter.challenges.picoctf.org:60915
🙆Solution
這個題目一樣是跟 robots.txt
有關西的東C,偶們試試看 https://jupiter.challenges.picoctf.org/problem/60915/robots.txt
結果發現它醬子寫:
|
|
偶們再試試看 https://jupiter.challenges.picoctf.org/problem/60915/8028f.html 醬子就有答案惹😇
🦄logon
- Category: Web Exploitation
- Score: 100
💁Description
The factory is hiding things from all of its users. Can you login as Joe and find what they’ve been looking at? https://jupiter.challenges.picoctf.org/problem/15796/ or http://jupiter.challenges.picoctf.org:15796
🙆Solution
偶先試試看隨便打一個帳號密碼是試試看,結果可以登入,不過神
模都沒有,看它的 HTML
登入的地方長這樣🐻
|
|
偶看不懂🐴🐴,臘個 form
也沒把 submit
包起來🐣 所以偶用 wappalyzer
看一下,感覺是 Cookie
在搞。
果然是它在搞事,可以按 f12
看一下 Cookies
,有一個叫做 admin
的,把它改成 True
之後重新整理就有惹🐻
🐻dont-use-client-side
- Category: Web Exploitation
- Score: 100
💁Description
Can you break into this super secure portal? https://jupiter.challenges.picoctf.org/problem/29835/ or http://jupiter.challenges.picoctf.org:29835
🙆Solution
偶先試試看隨便打一個密碼是試試看,它會縮不對,題目叫做不要相信客戶端,所以偶按右鍵檢查 Verify
的按鈕,發現它的 onclick
會觸發 verify();
函式,偶們到找到 verify
就可以看到答案惹🍑
|
|
🥝It is my Birthday
- Category: Web Exploitation
- Score: 100
💁Description
I sent out 2 invitations to all of my friends for my birthday! I’ll know if they get stolen because the two invites look similar, and they even have the same md5 hash, but they are slightly different! You wouldn’t believe how long it took me to find a collision. Anyway, see if you’re invited by submitting 2 PDFs to my website. http://mercury.picoctf.net:20277/
🙆Solution
題目落落長,英文不好看有夠久🍐,結果還是不會所以偶看惹 Rahul Singh 的影片,原來題目要偶們上傳兩個內容不同 PDF
的檔案,不過要有相同的 md5
哈西,偶們可以去 Google :md5 collision
,不過偶不知道為隔膜自己把查到的字串加到檔案裡 md5
會不一樣,所以偶是完全依照 Rahul Singh 的方法na🍕,去 stackexchange.com 下載下面圖片的那兩個檔案🦄
然後在把副檔名改成 .pdf
上傳到題目那裡🆙,就會有答案惹🚀
🐣Who are you?
- Category: Web Exploitation
- Score: 100
💁Description
Let me in. Let me iiiiiiinnnnnnnnnnnnnnnnnnnn http://mercury.picoctf.net:52362/
🙆Solution
這個題目有點壞👺,它的 hint
給惹 http
的文件,網頁寫說
Only people who use the official PicoBrowser are allowed on this site!
感覺又是需要改 http headers
的題目,偶是用 Python
na,用 BrupSuite
也可以,先加一個 User-Agent
:
|
|
結果它又說它不相信其他地方來的人,之後還有很多要求😢 偶查惹很久 Google 特別是瑞典話的那個,感覺有兩種都符合他的說法🔕 最後的 headers
長這樣:
|
|