本教程针对新手学习的特点,选择近几年相关赛事真题讲解。主要包括:CTF的赛制、赛事介绍,竞赛相关的计算机网络、数据库、操作系统、程序设计、密码学等必备知识。重点剖析CTF竞赛中常用的MISC、Web、逆向、PWN等题型的求解思路。
(1)作者经验丰富:专门从事网络安全人才培养,具有丰富的CTF带队经验,对赛题、赛情分析精到。
(2)内容针对性强:本书建立起以CTF为原点的网络安全理论体系,细分专项,将基本原理融入真题,助你集中精力攻克CTF。
内容实战性强:本书分门别类地整理、分析了国内外大量真题,提供比赛实战技巧,让CTF新手快速入门。
2014年2月27日,习近平总书记在中央网络安全和信息化领导小组的第一次会议上指出:没有网络安全就没有国家安全。该小组将着眼国家安全和长远发展,统筹协调涉及经济、政治、文化、社会及军事等各个领域的网络安全和信息化重大问题,研究制定网络安全和信息化发展战略、宏观规划和重大政策,推动国家网络安全和信息化法治建设,不断增强安全保障能力。
2015年批准设立了网络空间安全一级学科。目前,很多高校网络空间安全相关的学科专业建设及人才培养尚处于探索阶段,培养规模与质量远远滞后于网络安全产业的发展。
为贯彻落实《关于加强网络安全学科建设和人才培养的意见》(中网办发文〔2016〕4号),河南省计算机学会发起成立了“河南省网络安全高校战队联盟”,并邀请网络安全领域的权威专家,举办“河南省网络安全高校战队联盟成立暨网络安全人才培养高峰论坛”。
河南省网络安全高校战队联盟将通过战队的组建、培育,提升高校学生的网络安全素养,提高网络安全相关专业学生及爱好者的攻防对抗能力,为网络安全行业的发展培养高水平人才,为国家的网络强国战略提供智力支持。
CTF(Capture The Flag,夺旗赛)是网络安全领域信息安全竞赛的一种形式,参赛团队之间通过攻防对抗等形式,从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并提交给主办方,从而获取分数。
CTF比赛对培养网络安全技术人才起到了很重要的作用,吸引着越来越多的年轻人参与其中。但对初学者来说,当务之急是快速入门CTF。
在此背景下,我们创作本书以飨读者。
在本书的编写过程中,我们首先分析了CTF涉及的主要内容和基本原理,然后针对不同知识点,广泛收集并深入分析了国内外主要的CTF比赛真题,精心选取了一些具有代表性的题目,并整理了相应的解题思路(Write Up),以便初学者体味相关知识点并加以验证,从而快速入门。
本书主要由王瑞民、宋玉、刘磊、王肖丽、秦卫丽、常玉存等执笔,宋玉对全书架构做了整体设计,王瑞民对全书进行了审阅修改。
在本书的编写过程中,我们对所涉及的网络安全问题慎之又慎,唯恐出现纰漏,欢迎各位读者不吝批评、指正,以便本书日臻完善。
Contents?目 录
前 言
第1章 CTF 简介 1
1.1 CTF的由来 1
1.2 CTF竞赛模式 2
1.2.1 解题模式 2
1.2.2 攻防模式 2
1.2.3 混合模式 3
1.3 国内部分CTF赛事介绍 3
1.3.1 强网杯 3
1.3.2 网鼎杯 6
1.3.3 护网杯 7
第2章 CTF 竞赛基础 10
2.1 计算机网络基础 10
2.1.1 计算机网络的组成 10
2.1.2 TCP/IP 11
2.1.3 IP地址 14
2.1.4 路由基础 16
2.1.5 文件传输协议 20
2.2 数据库安全基础 22
2.2.1 数据库安全概述 22
2.2.2 数据库安全语义 23
2.2.3 访问控制策略与执行 24
2.3 操作系统基础 26
2.3.1 操作系统的类型 26
2.3.2 操作系统的功能 30
2.3.3 Windows基础 32
2.3.4 Linux基础 34
2.4 编程语言基础 37
2.4.1 HTML 38
2.4.2 JavaScript 39
2.4.3 Python 40
2.4.4 PHP 40
2.4.5 汇编 42
第3章 CTF 密码学 45
3.1 信息编码 45
3.1.1 ASCII码 45
3.1.2 Unicode编码 47
3.1.3 URL编码 47
3.1.4 Base64编码 48
3.2 信息的加密及解密 49
3.2.1 密码学的基本概念 49
3.2.2 古典密码学 51
3.2.3 现代密码学 55
3.3 综合解题实战 59
3.3.1 信息编码类 59
3.3.2 古典密码学类 64
3.3.3 现代密码学类 67
第4章 CTF Web 78
4.1 CTF Web概述 78
4.2 主要知识点 79
4.2.1 SQL注入 79
4.2.2 XSS 81
4.2.3 CSRF 82
4.2.4 文件上传与文件包含 84
4.2.5 命令执行 84
4.3 综合解题实战 86
4.3.1 SQL注入类 86
4.3.2 XSS/CSRF类 90
4.3.3 文件上传与文件包含类 94
4.3.4 命令执行类 100
第5章 CTF 逆向 104
5.1 CTF逆向概述 104
5.2 主要知识点 106
5.2.1 基本分析流程 106
5.2.2 自动化逆向 109
5.2.3 脚本语言逆向 110
5.2.4 干扰逆向分析 111
5.3 综合解题实战 114
5.3.1 手工及自动化逆向类 114
5.3.2 脚本语言逆向类 122
5.3.3 干扰分析及破解类 124
第6章 CTF PWN 134
6.1 CTF PWN概述 134
6.1.1 CTF PWN的由来 134
6.1.2 PWN的解题过程 135
6.2 主要知识点 137
6.2.1 栈漏洞利用原理 137
6.2.2 堆漏洞利用原理 138
6.2.3 整型漏洞 140
6.3 综合解题实战 141
6.3.1 栈漏洞利用类 141
6.3.2 堆漏洞利用类 148
6.3.3 整型漏洞利用类 160
第7章 CTF Misc 166
7.1 CTF Misc概述 166
7.2 主要知识点 168
7.2.1 文件分析 168
7.2.2 信息隐藏 169
7.2.3 流量分析 172
7.3 综合解题实战 173
7.3.1 文件分析类 173
7.3.2 信息隐藏类 178
7.3.3 流量分析类 187
参考文献 191