CTF是英文Capture The Flag的缩写,意为夺旗赛,起源于1996的DEFCON(极客大会),以代替之前黑客们经过相互发起实在进犯进行技能比拼的方法。如今已成为全球范围内网络安全圈盛行的比赛形式。
CTF题目类型包括web安全、逆向工程(Rverse)、漏洞挖掘与漏洞利用(PWN、EXPLOIT)、密码学(Crypto)、调查取证(Misc,又叫杂项)、移动安全(Mobile)。
CTF的比赛形式主要包括解题模式,攻防模式,混合模式三大类。
在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。
在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。
混合模式结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。
在 CTF 竞赛中,WEB 是占比重很大的一个方向之一,WEB 类的题目种类繁多,知识点细碎,时效性强,能紧跟时下热点漏洞,贴近实战。web类的题目有:SQL注入、XSS跨站脚本、CSRF跨站请求伪造、文件上传、文件包含、框架安全、PHP常见漏洞、代码审计等。
大概的考点:
网页源码审计
查看或者修改http请求头
查看开发者工具控制台
Js代码查看和加密解密
Burp suite使用
Robots.txt
Aps,php代码审计
Sql注入
简单脚本使用
后台登录
代码逆向
上传绕过
Hash函数
备份文件
验证码
Cookies
MD5碰撞
沙箱逃逸
源码泄露
反序列化
XXE实体漏洞
在CTF比赛中, CTF逆向题目除了需要分析程序工作原理, 还要根据分析结果进一步求出FLAG。逆向在解题赛制中单独占一类题型, 同时也是PWN题的前置技能。在攻防赛制中常与PWN题结合。CTF逆向主要涉及到逆向分析和破解技巧,这也要求有较强的反汇编、反编译、加解密的功底。
大概的考点:
常见算法与数据结构。
各种排序算法, 树, 图等数据结构。
识别加密算法与哈希算法代码特征,识别算法中魔改的部分。
代码混淆, 代码虚拟化, 修改代码流程, 反调试等。
软件加密壳是软件保护技术的集中应用。
Misc为英文miscellaneous的前四个字母,杂项、混合体、大杂烩的意思。
主要题目类型包括:
1.图片隐写、修复、分离
2.字符串类、进制转换
3.音频&视频隐写
4.数据包分析
5.内存取证
6.游戏隐写
7.综合类
密码学·编码类密码·CTF常见考察密码
1.ASCII编码
2.base家族
base64
base32
base16
3.quoted-printable编码
4.Xxencode
5.Uuencode
6.Url编码
7.Escape编码
8.Unescape编码
9.HTML实体编码
10.敲击码
11.摩尔斯电码
12.盲文
13.Hex编码
14.base64转图片
15.在线核心价值观编码
16.隐藏字符加密
17.Brainfuck/Ook
18.md5加密
29.Unicode编码
20.DES加密