一.概况
CTF(Capture The Flag)在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式,它起源于1996年的DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式,现已成为全球范围网络安全圈流行的竞赛形式。
二.大致流程
参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。
三.竞赛模式
1.解题模式(Jeopardy):这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。
2.攻防模式(Attack-Defense):参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。
3.混合模式(Mix):结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。
四.题目类型
1.Web - 网络攻防:Web 安全中常见的漏洞,如 SQL 注入、XSS、CSRF、文件包含、文件上传、代码审计、PHP 弱类型等。
2.Reverse Engineering - 逆向工程:软件保护、反编译、反调试、加壳脱壳技术。
3.Pwn - 二进制漏洞利用:二进制漏洞的发掘和利用。
4.Crypto - 密码攻击:掌握古典密码学和现代密码学,分析密码算法和协议,计算密钥和进行加解密操作。
5.Mobile - 移动安全:安卓逆向。
6.Misc - 安全杂项:主要包括信息搜集、编码分析、取证分析、隐写分析等。