相信大家小時候都有過覺得當駭客好酷,可以做出外掛、可以入侵別人電腦、看別人不爽就DDOS他。
但踏入這個領域之後發現怎麼那麼難、網路上中文資源怎麼那麼少,漸漸發現這不像自己原本想像中的那樣,的確學習資安真的是一條非常艱辛的道路。
我目前也才剛踏足資安這個領域不久,也想分享一些學習的心得,也在版上學習到了很多,雖然現在學校的課業很忙,不過還是想試試看,第一次發這麼多文章,內容有誤或是有需要改進的地方還麻煩各位大大提點一下。
這次主題主要是介紹一項學習資安的人們都知道的 CTF
一方面想讓學習資安但不知道如何下手的人可以參考,另一方面也想逼迫自己透過鐵人賽的文章能夠更深入的了解相關知識,所以文章內容有誤或是有更好的解法也麻煩版上的高手們賜教。
直接進入正題吧~
CTF(Capture The Flag)搶旗賽,有點類似古時候戰爭時,旗子被敵方佔領,則該場戰役就落敗,現今演變到在電腦上,駭客們運用電腦科學領域的知識來保護我方,奪取敵方的旗子。
General Skill(基礎技能)
這不算是CTF的領域之一,不過要打CTF這些基礎的知識是一定要會的,大部份是使用Linux的一些基本指令和操作,所以也將他列在這
Day02 [General Skill]Linux基礎指令
Day03 [General Skill]Linux基本指令(續)
Day04 [General Skill]Linux基本指令(續)
Day05 [General Skill]Linux基本指令(續)
Day06 [General Skill]Linux基本指令(續)
Cryptography (密碼學)
顧名思義,就是一切有關於加密解密的題目。
Day23 [Cryptography] 是約翰!
Day24 [Cryptography] 頻率分析替換式加密
Day25 [Cryptography] 頻率分析替換式加密(2)
Reverse (逆向工程)
利用逆向工程的技術,將一個程式逆向分析出其原始碼,找到其Flag,遊戲外掛就是利用此技術。
Day11 [Reverse] 不要看到組合語言就跑阿!
Day12 [Reverse] 電腦不夠快怎麼辦
Day13 [Reverse] Ghidra
Day14 [Reverse] 電腦不夠快怎麼辦(2)
Day15 [Reverse] 暴力解或許更快!?
Day16 [Reverse] 組合語言--暫存器運用
Day17 [Reverse] 電腦不夠快怎麼辦(3)
Day18 [Reverse] 魔鬼藏在細節裡
Forensics (鑑識)
Flag可能會用各種不同方式藏在圖片、文字、檔案、文件之中。
Day19[Forensics] 最難的熱身題
Day20[Forensics] 工欲善其事,必先利其器
Day21[Forensics] 修圖是會被發現的
Day22[Forensics] 封包、流量分析、惡意程式商店!?
Web (網路)
利用網路的漏洞或是分析網路上的傳遞,找到一些機密的訊息或是Flag
Day07 [Web] F12是你的好朋友還會請吃Cookie
Day08 [Web]原來機器人可以保護我不被google找到
Day09 [Web] SQLinjection 填字遊戲
Day10 [Web] 天然純手工HTTP request
Pwnable (程式漏洞)
運用程式語言的知識了解程式邏輯存在哪些漏洞,利用這些漏洞找到Flag
Day26 [Binary Exploitation] Buffer Overflow
Day27 [Binary Exploitation] 非法控制程式流程
Day28 [Binary Exploitation] Buffer Overflow 填字遊戲!?
Day29 [Binary Exploitation] 格式化字串攻擊
Day30 [Binary Exploitation] 格式化字串攻擊(2)
以上是針對CTF一些簡單的介紹,想知道更詳細的內容麻煩自行Google囉
不過這些事情要是對其他人的電腦做可是會面臨刑事責任的,所以在網路上也提供了很多平台讓大家練習是不用付法律責任的,以下就來介紹今天的主角~
進去點選右上方的 Register/Singin picoCTF2018 就可以註冊帳號登入囉,登入後點左上方的 Game 即可進入遊戲。
這個比賽當初是舉辦給美國的高中生所比的CTF競賽,比完後題目也放在網站上供大家練習,對於初學者不會很困難的題目,解出來會有很大的成就感。
在此之前建議要有一個Linux的作業系統,因為有許多題目都會利用到Linux的指令,可以使用VirtualBox,詳細的安裝教學就不在這裡多做介紹,就麻煩各位自行上網找教學。
若真的不想用picoCTF內也有提供Shell server 在右上角的 Shell 選項,也可以利用這個來解題。
這邊教學一下上面Shell進去之後怎麼使用(當初用的時候還想說怎麼都進不去) 進去後下面有一個大視窗,一開始要輸入你的picoCTF的帳號,再來會要求輸入密碼,密碼看不見是正常的,打完就放心的點下Enter吧,成功後就會進入Shell的視窗了。
再來回到遊戲,一開始進去會有劇情,我是沒有很認真去看劇情啦,再來會到一個實驗室中,要把散落四處的機器人殘骸(? 組裝回去
組裝完成後三台電腦會出現問號,點下去就會開始最一開始暖身的三題
在picoCTF中Flag的格式都是picoCTF{...}
這一題給你16進位的數字要你轉成ASCII,ASCII相關可以參考連結,0x41就是相當於ASCII中的 A 所以在下面空格輸入 picoCTF{A}
就是答案啦
這一題給你10進位的數27要轉成2進位的形式,10進位怎麼轉二進位也麻煩自行網路上尋找,此題答案就是picoCTF{11011}
這一題給你16進位 0x3D要轉成10進位的形式,此題答案就是 picoCTF{61}
三題都解完後會看到有上述所說的各項領域等著我們去探索,未來30天就帶著大家一起進入CTF的世界吧
今天的CTF基本的介紹就到這邊啦,明天開始在繼續往下解,有任何的問題想要討論或是指教都歡迎下面留言~