1. 程式人生 > >CTF入門(轉載)

CTF入門(轉載)

1、逆向工程

建議你得到一個IDA Pro的副本,這有免費版和學生認證書。嘗試下crack me的問題。寫出你的C語言程式碼,然後進行反編譯。重複這個過程,同時更改編譯器的選項和程式邏輯。在編譯的二進位制檔案中“if”宣告和“select”語句有什麼不同?我建議你專注於一個單一的原始架構:x86、x86_64或是ARM。在處理器手冊中查詢你要找的,參考有:

《Practical Reverse Engineering》
《Reversing: Secrets of Reverse Engineering》
《The IDA Pro Book》

2、加密。

雖然這不是我自己的強項,但這裡有一些參考還是要看看的:

《Applied Cryptography》
《Practical Cryptography》
Cryptography I

3、ACM程式設計

選擇一個高層次的語言,我推薦使用Python或Ruby。對於Python而言,閱讀下《Dive into Python》和找一些你要加入的專案。值得一提的是Metasploit是用Ruby編寫的。關於演算法資料結構的電腦科學課也要在此類中要走很長的路。看看來自CTF和其他程式設計的挑戰,戰勝他們。專注於建立一個解決方法而不是最快或是最好的方法,特別是在你剛剛開始的時候。

4、web漏洞

有很多的網路程式設計技術,在CTF中最流行的就是PHP和SQL。php

.NET網站(譯者注:需翻牆)是一個夢幻的語言參考,只要搜尋你好奇的功能。PHP之後,看到網頁上存在的挑戰的最常見的方法就是使用Python或Ruby指令碼。主要到技術有重疊,這有一本關於網路安全漏洞的好書,是《黑客攻防技術寶典:Web實戰篇》。除此之外,在學習了一些基本技術之後,你可能也想通過比較流行的免費軟體工具來取得一些經驗。這些在CTF競爭中也可能會偶爾用到,這些加密會和你憑經驗得到的加密重疊。

5、二進位制練習

建議你在進入二進位制練習前要完成逆向工程的學習。這有幾個你可以獨立學習的常見型別漏洞:棧溢位,堆溢位,對於初學者的格式字串漏洞。很多是通過練習思維來辨別漏洞的型別。學習以往的漏洞是進入二進位制門檻的最好途徑。推薦你可以閱讀:

《黑客:漏洞發掘的藝術》
《黑客攻防技術寶典:系統實戰篇》
《The Art of Software Security Assessment》

6、取證/網路

大多數的CTF團隊往往有“一個”負責取證的人。我不是那種人,但是我建議你學習如何使用010 hex editor,不要怕做出荒謬、瘋狂、隨機的猜測這些問題執行的結果是怎樣。

標籤: ctf競賽資訊保安 213人閱讀 評論(0) 收藏 舉報 分類:

相關靶場平臺:

4、XCTF_OJ練習平臺
  XCTF-OJ (X Capture The Flag Online Judge)是由XCTF組委會組織開發並面向XCTF聯賽參賽者提供的網路安全技術對抗賽練習平臺。
XCTF-OJ平臺將彙集國內外CTF網路安全競賽的真題題庫,並支援對部分可獲取線上題目互動環境的重現恢復,XCTF聯賽後續賽事在賽後也會把賽題離線檔案和線上互動環境彙總至XCTF-OJ平臺,形成目前全球CTF社群唯一一個提供賽題重現覆盤練習環境的站點資源。
地址:http://oj.xctf.org.cn/

5、BCTF比賽平臺
  BCTF是由藍蓮花戰隊舉辦的網路安全奪旗挑戰賽,去年只面向國內,從今年開始,向全世界開放。
  今年的BCTF也是全國網路安全技術對抗聯賽XCTF的分站賽之一,獲勝的中國XCTF隊伍將直接晉級南京的XCTF總決賽(決賽也由藍蓮花戰隊命題)。其他參賽的XCTF隊伍也將獲得積分,來競爭XCTF決賽的其他席位。
  地址:http://bctf.cn/#/challenge

6、HacKGame2
  HacKGame2是由blackbap論壇開發的一套線上黑客闖關遊戲。地址:http://hackgame.blackbap.org/