跳转至

CTF 競賽內容

由於 CTF 的考題範圍其實比較寬廣,目前也沒有太明確的規定界限說會考哪些內容。但是就目前的比賽題型而言的話,主要還是依據常見的 Web 網絡攻防、RE 逆向工程、Pwn 二進制漏洞利用、Crypto 密碼攻擊、Mobile 移動安全 以及 Misc 安全雜項 來進行分類。

  • Web - 網絡攻防

    主要介紹了 Web 安全中常見的漏洞,如 SQL 注入、XSS、CSRF、文件包含、文件上傳、代碼審計、PHP 弱類型等,Web 安全中常見的題型及解題思路,並提供了一些常用的工具。

  • Reverse Engineering - 逆向工程

    主要介紹了逆向工程中的常見題型、工具平臺、解題思路,進階部分介紹了逆向工程中常見的軟件保護、反編譯、反調試、加殼脫殼技術。

  • Pwn - 二進制漏洞利用

    Pwn 題目主要考察二進制漏洞的發掘和利用,需要對計算機操作系統底層有一定的瞭解。在 CTF 競賽中,PWN 題目主要出現在 Linux 平臺上。

  • Crypto - 密碼攻擊

    主要包括古典密碼學和現代密碼學兩部分內容,古典密碼學趣味性強,種類繁多,現代密碼學安全性高,對算法理解的要求較高。

  • Mobile - 移動安全

    主要介紹了安卓逆向中的常用工具和主要問題類型,安卓逆向常常需要一定的安卓開發知識,iOS 逆向題目在 CTF 競賽中較少出現,因此不作過多介紹。

  • Misc - 安全雜項

    以諸葛建偉翻譯的《線上幽靈:世界頭號黑客米特尼克自傳》和一些典型 MISC 題爲切入點,內容主要包括信息蒐集、編碼分析、取證分析、隱寫分析等。

全國大學生信息安全競賽 - 競賽內容

2016 年全國大學生信息安全競賽開始舉辦創新實踐技能賽,採取的就是傳統的 CTF 賽制。在《2016 年全國大學生信息安全競賽參賽指南》中主辦方給出的競賽內容相對全面,值得參考。

  1. 系統安全。涉及操作系統和 Web 系統安全,包括 Web 網站多種語言源代碼審計分析(特別是 PHP)、數據庫管理和 SQL 操作、Web 漏洞挖掘和利用(如 SQL 注入和XSS)、服務器提權、編寫代碼補丁並修復網站漏洞等安全技能。
  2. 軟件逆向。涉及 Windows/Linux/Android 平臺的多種編程技術,要求利用常用工具對源代碼及二進制文件進行逆向分析,掌握 Android 移動應用 APK 文件的逆向分析,掌握加解密、內核編程、算法、反調試和代碼混淆技術。
  3. 漏洞挖掘和利用。掌握 C/C++/Python/PHP/Java/Ruby/彙編 等語言,挖掘 Windows/Linux(x86/x86_64 平臺)二進製程序漏洞,掌握緩衝區溢出和格式化字符串攻擊,編寫並利用 shellcode。
  4. 密碼學原理及應用。掌握古典密碼學和現代密碼學,分析密碼算法和協議,計算密鑰和進行加解密操作。
  5. 其他內容。包括信息蒐集能力,編程能力、移動安全、雲端計算安全、可信計算、自主可控、隱寫術和信息隱藏、計算機取證(Forensics)技術和文件恢復技能,計算機網絡基礎以及對網絡流量的分析能力。