昨天我們講完了CTF的基本介紹
再來的這幾天我們會針對一些最最最基本的解題技巧來做說明
如果看文章的大大們已經是CTF老手的話
毫無疑問的可以跳過這篇文章DER
在CTF的比賽中
其實除了知道該如何解題的"邏輯"以外
更重要的就是找到正確的"工具"
現在有非常多方便的工具
甚至很多直接做成Online版根本不用下載就可以使用
經過一次又一次的CTF之後
大家都可以變成工具達人(誤
當然不是說CTF只靠工具就可以通關
但選對工具真的是非常必要的一個技能
再來我們就繼續來看到下一題吧
在這個題目上我們可以看到
他提供了一個檔案下載的連結
然後跟你說答案就在檔案中
但是我們下載下來之後
發現這檔案的檔名就是file
根本也不知道這到底要怎麼去讀取他
在大部分我們遇到這種狀況的時候
我們會先試著用hexdump去檢查他的標頭
或是直接用開個TXT,notepad++把檔案拉進去
看看有什麼可疑的東西
當我們把檔案丟到notepad之後
就會發現原來答案就在第二行!!!!!
如果覺得智商被羞辱了真的沒關係
從一開始什麼都不會到稍微有點解題能力大概還要被羞辱個一萬次吧
再來讓我們進入到另一個要被羞辱的領域
打開題目後發現
題目說請你使用netcat去連到他指定的伺服器
這時候我們就可以稍微google一下netcat這個東西
大致上他就是個簡單連線和偵錯工具
可以參考一下下方的連結
https://blog.gtwang.org/linux/linux-utility-netcat-examples/
這裡大致上說明了netcat的用法
接著我們打開Kali
Kali是一個充滿著滲透測試(惡意)工具的系統
不管是要參與CTF又或是想踏足資安領域的朋友們
都不得不去認識這個系統
那在這裡提供連結
https://www.kali.org/
官網上可以下載到ISO檔
那在這裡就不說明如何安裝了
在kali裡面
內建也有netcat(Windows似乎需要另外裝)
那我們就輸入指令對題目所指定的伺服器進行要求
這時候心理就會OS
啊! 天啊! 這是把我當87嗎!
對 沒錯的
PicoCTF就是一個超級入門導向的CTF
他會一步一步的從最基礎的工具
帶領你到完全未知的領域
那廢話不多說我們立馬來看看下一題
在這一題裡面
他又給了我們一個檔案
然後又要我們拿到解答
心裡又出現OS(阿剛剛不是才叫我拿過是當我87嗎...
於是我們一樣用notepad打開來看看
RRRRRRRRRRRRR
馬上就發出哀嚎聲
為什麼這裡面出現了一堆看不懂的鬼東西
我想這大概是因為他的編碼並不屬於可以顯示出來的ascii
所以就參雜了很多奇怪的東西
這時候我們看一下提示
他跟你說 可以用strings這個工具
在kali裡面提供的strings
可以用來將檔案內"可以看得懂的字"顯示出來
那我們馬上就來試試看
一開始輸入的時候你會發現
顯示出來是顯示出來了
但還是有一~~~大堆的字串
我們該怎麼樣從這堆字串裡面找出我們的答案呢
這時候就需要grep這個指令了
這個指令可以幫我們從terminal所顯示的值裡面
撈出符合我們要的字串"那一行"
然後我們兩個不同指令之間要記得用 | 來連接
而且我們還記得 所有的答案都是picoCTF開頭
所以我們就可以使用grep pico
當我們把兩個指令串起來之後
他就會把我們的答案找出來了
一次又一次的操作之後
會發現自己對於linux越來越熟
也會莫名其妙的使用一些感覺一輩子都用不到的工具(?
再來我們看看下一題
一看到給了一個域名 又給了Port號
那當然快點用nc連看看阿~
但一連進去發現
哀呀怎麼一直跟我說沒有flag
那這時候就只好用上我們剛剛的grep了
加上grep之後
我們就能很清楚的找到了flag的位置了
雖然我不知道為什麼答案叫做almost like mario
但我們就是拿到答案啦~~~
這時候回頭看看題目有提到pipe
好...但其實我根本不知道pipe是什麼
查了一下才發現
原來我們用的 | 就是所謂的pipe~~~
真的是邊學CTF邊學英文呢
真棒!
如果覺得稍微有點長進的話
明天就繼續來看看我的文章8