當我們學會了基礎的驗證方式之後,從原始碼、弱點掃描、滲透測試都多多少少摸一點點兒的時候呢,我們想去驗證或嘗試去試一下實際這個弱點造成的影響力的時候,我們絕對不會去做攻擊一個站點的行為,雖然也是有前輩很認真的去建置環境來玩啦,但通常我們不會那麼做,我們會去線上找一些 CTF (Capture The Flag) 來練習自己的技能或思維(?)
選你認為有興趣或是比較好解的題型
如果完全沒有頭緒先Google 相關的題型的背景知識
努力看懂題目且試著想出這題的解法
如果有時候想不出來,也可以放鬆心情休息一下或是跟別人討論看看
如果解不出來,別氣餒,想想其他的解法
可能會花上數個小時或幾天、幾週,但是在摸索的同時也會慢慢進步
別輕易放棄!如果想很久很久還是想不出來就看看其他人的解法吧
如果就真的想不出來的話,照著做一遍,真正弄懂這題的解法,下次遇到類似的題型就會做了!
CTF (Catch The Flag),分為兩種,一種是線上題庫型(Jeopardy),另外一種是對打攻防型(Attack & Defense)。
Jeopardy的型式很像百萬小學堂,會分成幾個類別,分別是 Pwn、 Reverse、Web、Crypto以及MISC。
PWN(conquer to gain ownership):想辦法取得系統的控制權。
逆向工程(Reverse):透過反組譯來找出程式或服務的漏洞,通常會需要組合語言的基礎。
滲透測試(Web):從 Web 服務的漏洞中想辦法撈出重要資訊,通常會需要具備HTML、SQL、PHP及基礎滲透測試的能力。
加密(Crypto):針對某些較不安全的加密方式,或是特定情況下會不安全的加密演算法進行攻擊。
MISC(Miscellaneous):其他類別 XD
競賽的進行方式通常多是由主辦方準備多組題目,並替每個題型架設好一個環境,然後會有多個隊伍彼此競爭,在一定的時間內取得主辦單位的旗(Flag)獲得分數,所以才稱之為攻防戰。
取得 Flag 的方法可能很複雜也可能很簡單,需要許多專業能力,或是需要一些創造力與想像力,甚至是透過暴力破解的手段達成,完全看主辦單位的設定題型的專業度。
ddaa 大大推薦的 CTF
ddaa 大大推薦的 CTF
適合練習各類資安觀念的網站。網站上的所有題目都有按照難易度分類,讓初學者可以循序漸進的學習各類技術,剛入門的朋友可以先從左邊的 Bandit 題組開始:)
記錄著全球 CTF 比賽資訊的網站,記錄很多全球CTF隊伍積分、成績及即將開始的比賽。
其他交大前輩們寫的 Write-Ups
一個提供線上即時反組譯的網頁。