- 網絡空間攻防技術原理
- 韓蘭勝 何婧瑗 朱東君 鄧賢君主編
- 905字
- 2025-01-09 16:36:46
1.2 CTF競賽的主要內容
1.2.1 CTF競賽題目形式
CTF競賽的考查范圍很廣,理論上所有的網絡空間安全問題都可以出現在CTF競賽中。從CTF競賽中的常見題型來看,主要可以分為Web(網絡攻防)、Reverse(逆向工程)、Pwn (二進制漏洞利用)、Crypto(密碼學)及Misc(安全雜項)5類。
① Web:主要包括Web安全中常見的漏洞利用,如SQL注入、XSS、CSRF、文件包含、文件上傳、代碼審計、PHP弱類型等,Web安全中常見的題型及解題思路,以及相應工具的使用等。
② Reverse:主要包括逆向工程中的常見題型、工具平臺、解題思路,進階部分則包含逆向工程中常見的軟件保護、反編譯、反調試、加殼、脫殼技術。涉及Windows、Linux以及 Android 平臺的多種編程技術,要求利用常用工具對源代碼及二進制文件進行逆向分析等。
③ Pwn:主要包括對二進制漏洞的發掘和利用,需要對計算機操作系統底層有一定的了解。在CTF競賽中,Pwn題目主要出現在Linux平臺上。
④ Crypto:主要包括古典密碼學和現代密碼學兩部分內容,古典密碼學趣味性強,出題思路廣闊,種類繁多;現代密碼學安全性高,對算法的考查要求較高,主要是分析密碼算法和協議,計算密鑰和進行加解密操作等。
⑤ Misc:主要包括信息搜集、編碼分析、隱寫分析、取證分析等,內容不局限于一項或一類技術,常常跨越若干安全技術,形式多樣、方式靈活,是初學者比較容易接觸的一類題目。
另外,從網絡空間安全學科的角度看,CTF競賽的題目主要涉及系統安全、軟件安全、密碼學及安全雜項4個方面。
① 系統安全:主要涉及操作系統和Web系統安全,包括Web網站多種語言源代碼審計分析(特別是PHP)、數據庫管理和SQL操作、Web安全漏洞挖掘和利用(如SQL注入和XSS)、服務器提權、編寫代碼補丁并修復網站安全漏洞等安全技能。
② 軟件安全:主要包括對C、C++、Python、PHP、Java、Ruby、匯編等程序語言的掌握,對格式化字符串、緩沖區溢出、UAF 等常見二進制程序漏洞的分析,對32位及64位Windows/Linux操作系統平臺下二進制程序漏洞的挖掘,以及shellcode的編寫及利用等。
③ 密碼學:主要涉及密碼編碼學和密碼分析學,包括古典密碼、分組密碼、序列密碼、公鑰密碼、哈希函數等內容。
④ 安全雜項:主要涉及信息搜集能力、安全編程能力、移動安全、云計算安全、可信計算、隱寫術和信息隱藏、計算機取證技術和文件恢復技能、計算機網絡基礎及對網絡流量的分析能力等。