购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

为什么写这本书

CTF(Capture The Flag)一般翻译为“夺旗”,起源于古代的战争,后来逐渐转变为欧美的一种传统运动。在网络空间安全领域,CTF已经成为一种重要的竞赛形式。

CTF比赛是快速提升网络安全实战技能的重要途径,已成为各个行业选拔网络安全人才的通用方法。但是,本书作者在从事CTF培训的过程中,发现存在几个突出的问题:

1)线下CTF比赛培训中存在严重的“最后一公里”问题,线下培训讲师的水平参差不齐。

2)国内高等院校和职业院校的网络空间安全学科与专业缺乏实战型、系统化的教材和配套实验课程。例如,Base64编码是网络安全行业必备的基础知识,但是学校的教材并不涉及该知识点,也没有专门的实验课对该知识进行讲解。

3)大部分CTF比赛书籍对想学习网络空间安全技术的新人不够友好,很多初学者找不到快速、有效的学习方法。

为了解决上述问题,帮助零基础的学习者快速掌握基本技能,同时吸引更多的人关注网络空间安全技能的学习,推进CTF比赛的发展,本书创新性地提出 新的CTF知识学习框架 ,并在每一章附有大量实操练习,即使是没有网络空间安全知识基础的新手,也能按照书中的操作独立复现实验内容。

本书不仅讲授了网络空间安全相关的基础知识和操作技能,还探讨了 CTF赛题的本质 ,着重阐述了面对不同类型题目时的 分析思路和方法 。比如,我们首次提出 “图像隐写三板斧”“逆向真经” 等解题思维模式,并较为全面地总结了CTF比赛中对工控安全相关知识的考查方式。从线下培训的效果来看,这些方法的实用性极强。

网络空间安全技术不应该被神秘化,更不应该被人为地高深化、复杂化。我们希望通过喜闻乐见的方式,以通俗易懂、幽默风趣的语言普及网络空间安全的知识,从而提高公众的网络空间安全意识,进而促进全行业水平的提高,为我国成为网络安全强国打下坚实的基础。

CTF比赛的意义

在一些人眼中,CTF比赛就是一种游戏,这种看法不无道理。一是因为绝大多数CTF赛题难以上升到高深的理论研究层面;二是受比赛时间与场景搭建等客观条件的制约,CTF赛题的复杂度和运算量与现实的业务场景有巨大的差距。

古语有云:不以一眚掩大德。在作者看来,CTF比赛对于我国网络安全行业发展具有举足轻重的作用。

2015年,我国在高等院校正式设立“网络空间安全”一级学科与专业,经过这些年的努力,专业建设取得了长足的发展,但是在课程和知识体系方面与传统专业相比仍有不足。CTF比赛有利于 促进高校网络空间安全相关专业的课程体系建设, 并弥补教学过程中课程衔接不紧密带来的“知识盲区”,尤其是那些教材中没有出现但在实践中经常遇到的重要知识点。例如,通过学习软件逆向分析技术,读者可以将汇编语言、编译原理、数据结构、C语言、操作系统、计算机体系结构等课程中学到的知识融会贯通,综合运用,从而为今后解决实际的网络安全问题奠定坚实的基础。

目前,国内专业的网络安全人才非常短缺,同时各个企业对于员工的网络安全技能的要求与日俱增。与其他专业人员相比,网络安全从业人员的工程实践能力尤为重要。CTF比赛是 网络安全人才从小白到高手的演武厅与练兵场 。通过参与CTF比赛,可以提高网络安全实战技能。CTF比赛可以快速提升能力,弥补学校教育中“重理论,轻实践”的不足。大部分CTF题目不需要选手具备特别深入的理论知识,即使已经忘记了相关的理论知识,通过CTF比赛的锻炼,选手的网络安全实战技能仍可以有效提高,从而满足企业日常在网络安全方面的需求。

最后,在我国现行的法律制度下,CTF比赛是 普及和学习网络安全知识的有效途径 。随着《中华人民共和国网络安全法》的实施,网络安全技术野蛮发展的时代一去不复返。但现阶段网络安全问题层出不穷,危害日益严重。CTF比赛不仅满足了企业在真实场景下培养员工网络安全技能的需求,也规避了网络漏洞肆意传播的危害。这也是越来越多的企业将CTF比赛作为员工内部考核的主要方式的原因。

综上所述,CTF比赛的重要特点是能够 快速、高效地培养出满足当前社会发展需求的网络安全人才

本书特色

1.提出了适合国内读者的网络安全学习框架

CTF比赛起源于国外,很多学习资料也是由英文翻译而来,但这些资料可能并不适合国内学习者学习使用。本书根据国内计算机学科与网络空间安全学科的知识体系,按照安全杂项(隐写)、密码学基础、Web渗透、软件逆向工程、二进制程序漏洞利用(PWN)、工业控制系统安全的顺序构建知识框架。

之所以采用这样的学习框架,是基于以下考虑:安全杂项方面的介绍以工具为主,适合新手快速学习和入门,其中的很多知识点也是其他方向的基础;密码学在Web渗透、软件逆向工程、PWN中极为常见,所以安排在安全杂项之后讲解;Web渗透一直是网络安全领域的热点,因此放在密码学之后学习;接下来讲解二进制程序的知识,先介绍软件逆向分析,然后介绍二进制程序漏洞利用,因为越来越多的PWN题目要求先读懂程序的逻辑,所以把逆向的知识放到PWN前面讲解,而且把PWN部分分为两章,主要包括栈漏洞利用、堆漏洞利用以及如何防护;最后介绍当前比较火热的工业控制系统安全。

2.零基础高效掌握网络安全技能

很多读者对于学习网络安全知识有畏难心理,为了帮助他们实现网络安全基础知识和实操技能从“0”到“1”的突破,本书提供了适当的工具和丰富的例题,这些例题代表性强,实操方便,有助于读者理解书中讲授的知识点。为方便初学者,每个例题都给出了详细的思路和解题步骤。虽然书中用到的一些工具可能已经不是网络安全实践中的主流工具,但对于新手而言,这些工具仍有十分重要的示范意义。本书的目的是介绍CTF比赛的基本知识和实操技能,因此并没有加入较多“炫技”的内容。希望读者通过本书的学习,打下牢固的基础,进而能够自学网络安全中更高级的内容。

谁适合读这本书

本书适合以下读者阅读:

1)想系统学习网络安全基础技能的读者 。本书作者的初衷,是希望以通俗易懂的方式呈现网络安全基础知识和技能,凡是对网络安全感兴趣的人都可以学习本书。

2)政府机关、事业单位、国企及其他企业的技术人员 。对于各类企业中需要参加CTF比赛的读者而言,本书可以作为赛前训练的指导书,帮助他们在短时间内快速掌握网络安全技能。

3)高等院校和职业院校学生 。对于高等院校和职业院校的学生,本书可以作为他们学习网络安全知识的“准教材”,有效补充理论知识与实操技能的不足。

4)网络安全培训和比赛从业人员 。我们希望抛砖引玉,使本书成为网络安全培训的基础教材和重要参考书,促进CTF比赛和培训行业的进一步发展。

如何使用和阅读这本书

本书提供所有例题需要的工具包和脚本等资源,以方便读者自行练习。根据本书的章节结构,每节的例题会单独保存为一个文件夹。例如,第1章的1.1.1节Base64编码中,有例题b64steg.txt,这个例题保存的路径为:/CTF那些事儿/题目/第1章例题/1-1/b64steg.txt。其他题目的路径以此类推。读者可以到出版社网站下载上述资源,或发邮件至jsjed@hz.cmpbook.com索取本书资源。

考虑到例题中所使用的工具或脚本在CTF比赛中有一定的广泛性和适用性,因此工具和脚本按照题目类型分文件夹保存,方便读者后续使用。例如,第1章和第2章均属于安全杂项(MISC)范畴,这两章例题所对应的工具都在文件夹“/CTF那些事儿/工具包/MISC-工具包.zip/”中。例题b64steg.txt所使用的解题脚本b64steg.py就在上述文件夹中。

由于本书主要讲解CTF比赛的初级知识,因此提供的工具和脚本对于大部分简单和中等难度题目有较好的效果,但并不能保证可以解答所有的CTF比赛题目。如果题目难度较大或考点和书中例题不一致,我们建议读者根据题目需求修改工具包中的脚本,千万不要生搬硬套。

另外,本书尽可能详尽地给出操作步骤的截图和说明,读者最好能对照例题讲解进行同步实践,从而深入理解解题思路和相关工具的使用方法。

本书涉及的知识和技术与真实世界中的网络攻防息息相关,希望读者在学习了相关内容后,能够进一步提高网络防御能力,在实践中切实维护单位或企业的网络安全,为我国的网络安全建设添砖加瓦。

编写分工

本书由北京航空航天大学的Lancet网络安全战队倾力打造。Lancet战队指导老师李舟军任本书主编,负责本书总体策划和编写组织工作,并审校全稿。Lancet战队的主力队员赵宇飞、王宇、张翼鹏和杨立群分别负责各章的编写。本书共有9章,各章的主要内容介绍如下:

第0章 主要介绍CTF比赛的历史、CTF比赛的赛制、国内外知名的CTF比赛和战队,以及阅读本书前需要准备的相关实验环境。该章由李舟军、赵宇飞撰写。

第1章 讲解常见的安全杂项题目类型和解题方法。

第2章 介绍安全杂项中隐写部分的相关知识,重点介绍“图像隐写三板斧”解题套路。

第1章和第2章由赵宇飞撰写。

第3章 介绍CTF比赛中的密码学知识体系,以及常见密码的加密过程和破解方法。其中,3.0节、3.1.0节至3.1.10节由赵宇飞撰写,3.1.11节及之后的内容由王宇撰写。

第4章 介绍Web渗透的基础知识、常见漏洞类型和工具。该章由张翼鹏撰写。

第5章 讲述软件逆向工程的原理和常用工具,并提出了解决逆向问题的原则性方法——逆向真经。该章由赵宇飞撰写。

第6章 重点讲解栈溢出原理、栈漏洞利用以及格式化字符串漏洞。

第7章 针对堆的结构和漏洞利用方法展开介绍,并介绍如何对二进制程序打补丁。

第6章和第7章由王宇撰写。

第8章 介绍工业控制系统的基础概念、梯形图和指令表等PLC编程语言基础知识、常见工业控制通信协议以及PLC漏洞利用。该章由杨立群撰写。

本书的出版离不开许多朋友的大力帮助,他们是翟优、董浩、梁明月、邢浩、原铭、谢子鸣、杨琛、简容和罗杰,在这里向他们表示衷心感谢。

由于作者水平有限,书中的错误在所难免,恳请各位读者批评指正。

接下来,沿用我国传统戏曲中的表演程序,以两首定场诗开启我们的CTF之旅!这两首诗蕴含了CTF学习方法的要义,希望各位读者在学习过程中仔细体会。祝大家阅读愉快!

四海纵横先筑基,

三千世界任翱翔。

定场诗
【一】寻得门径

李舟军

久扣柴扉总难开,

多年求索几徘徊。

网安门径知何处,

宝典欣闻亦快哉。

【二】自我修炼

李舟军

网络争雄卷浪沙,

翻书有益学无涯。

百般招式勤修炼,

笑傲江湖不自夸。

作者
2022年9月 PBwAt7GJxkF5E3llJklpN3XcZXgZL0M2J06FfuSutnG4EpsLKBqeEnwKI8T0MevN

点击中间区域
呼出菜单
上一章
目录
下一章
×