CTF入门介绍

前言

​ Hello,欢迎踏入CTF的大门,这是个值得探索的领域,希望你能在这次CTF比赛中学到新知识,同时感受到CTF的乐趣。

​ 下面,作为新生的你们肯定会疑惑CTF到底是什么,请让我来为你们详细介绍一下。

什么是CTF?

CTF Capture The Flag」中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF 起源于 1996 年 DEFCON 全球黑客大会,以代替之前黑客们通过相发起真实攻击进行技术比拼的方式;其将安全相关的知识点抽象出来并加入到题目中,我们通过对知识点的理解认知,具体地进行实践来攻克题目。

什么是Flag?

参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。

CTF竞赛模式?

CTF 有个人赛和团队赛,在主流比赛中多为团队赛;

CTF 赛制分多种,国内常见的为「 解题模式 Jeopardy 」「 攻防模式 | AWD (Attack With Defense) 」「 静态攻防 AWDP (Attack With Defence Plus) 」一般分为线上线下两个阶段,线上通常采用 解题模式 ,线下通常为 CTF +( 理论 )+ AWD/AWDP 模式,具体看主办方安排。

  • 解题模式 Jeopardy 」目前大多数国内外 CTF 比赛的主流形式,选手自由组队参赛。题目通常在比赛过程中陆续放出。解出一道题目后,提交题目对应的 flag 即可得分,比赛结束时分高者获胜。
  • 攻防模式 | AWD (Attack With Defense) 」通常为现场比赛,多数 CTF 决赛的比赛形式,选手自由组队参赛。每个队伍都有自己的 gamebox,其上运行着一些带有漏洞的服务。参赛战队需要找到漏洞对其他队伍 gamebox 发起攻击,也需要通过 patch 服务来加固自己的 gamebox。相比于解题模式,时间更短,比赛中更注重临场反应和解题速度,需要能够快速攻击目标主机的权限,考察团队多方面的综合安全能力。
  • 静态攻防 AWDP (Attack With Defence Plus) 」解题 + 加固赛,相比 AWD 赛制取消了 gamebox,主办方会根据出题人设置的脚本判断提交的 patch 是否有效(攻击则和解题模式类似),参赛队伍无法直接攻击其他队伍。每个回合,参赛队伍都会根据自己攻击和加固成功的题目(以及相应题目的解题队伍数)来得分,以累积得分作为排行依据。

我们这次的线上新生赛呢,就是最传统也最常见的解题模式,我们会陆续为大家放出各个方向的CTF题目,希望大家能仔细研究题目,善用互联网这个丰富的知识库来尽量的解决每一个问题。极少题目可能会较难,有时候需要你有较好的耐心才能解决

CTF 的竞赛方向?

由于 CTF 知识面很广,一个人不可能面面俱到,所以选手们通常都会选择一个自己喜欢的方向深入研究,,通常分为五个方向:MISCCRYPTOWEBREVERSEPWN

  • 杂项 MISC 」安全杂项涉及到古典密码学、编码、隐写术、电子取证、数据分析等广度极高的安全手段及利用方法,选手需要确定手段或者方法,反向的去破译取证从而拿到 flag,MISC 是 CTF 比赛中广度最高的方向,需要各个方向都有涉猎。
  • 密码学 CRYPTO 」密码学简单讲就古典密码和现代密码,当然大多数古典密码的题目目前都被划分到 MISC 中,目前的密码学反而更偏向现代密码学,常出现分组密码、流密码和公钥密码体制的考察,对初等数学、基本的数论有一定需求。选手通常被给予一个加密程序,抹去明文之后留下的加密过程和输出,要求选手通过密码体制的弱点来还原 flag。
  • 网络攻防 WEB 」着重于 Web 应用程序,框架,浏览器以及各类 Web 服务器的安全问题;挖掘 / 利用 / 研究各类 Web 系漏洞,探究其形成原理、利用方式及修补方案。题目常见的漏洞类型包括注入、XSS、文件包含、代码执行、上传、SSRF 等,选手通过漏洞直接或者间接拿到 shell 或者得到某些关键文件从而得到 Flag。
  • 逆向工程 Reverse Engineering 」研究各类操作系统,编译器,虚拟机的底层架构,以 Windows 和 Linux 为平台,学习可执行程序的逆向分析技术,如软件调试与破解,对已经编译完成的可执行文件进行分析,研究程序的行为和算法,然后以此为依据,计算出出题人想隐藏的 flag
  • 二进制漏洞利用 Pwn 」Pwn 在安全领域是「攻破」的意思。主要研究程序漏洞利用技术,例如栈溢出、堆管理器的漏洞利用和其他高阶技巧;挖掘和分析各类基于编译型语言的漏洞。二进制攻击涉及到栈溢出、堆溢出、格式化字符串漏洞等二进制漏洞,选手需要借助这些漏洞获取计算机权限,从而拿到 flag ——PWN!(指声音
  • SOMETHING NEW 随着计算机技术的发展,也有一些新的方向如 「 区块链 Blockchain 」「 AI 安全 」「 物联网 IoT 」等的加入。

常见的黑话

每个领域都会有自己的黑话,CTF也不例外,下面为大家介绍一些常见的黑话,如果在群里和其他师傅(噢师傅也是黑话,我们一般称一起学习CTF的朋友为师傅)讨论的时候,你有什么听不懂的,也可以积极地提问,相信大家都会积极地为你解答的。

什么是 WriteUp?

又称作 WP,是记录 CTF 比赛中解题过程的文章,通常包含题目描述、解题思路、解题过程、源码分析、脚本分析等内容。当然你也可以简单理解为解题报告 —— 题解。

什么是一把梭?

  • 一把梭 代指一类解题过程或者方法,一般指将题目中给出的对应的附件 / 代码 / 密文等,直接丢到某个工具或者网站上,就能得到 flag 的解题方法。

什么是套娃?

  • 套娃 一是指一些题目比如说加密题,嵌套了多层的加密,需要多次解密才能得到 flag,即一道题中可能涉及到多个知识点的考察; 二是带有一定贬义意义,通常指出题人只是为了出题而出题,单纯的、一味的、向题目中叠加 tricks,导致本来就不新颖的题目还变得更加复杂,使得题目的难度无意义的变高。

学习 CTF 有什么要求么?

信息检索能力学习能力 这两者即可

说人话就是,会用搜索引擎,知道怎么检索信息,知道怎么验证信息正确性,知道怎么在垃圾场里面翻有用信息;然后就是拿到信息之后,快速学习,知道怎么运用知识点。

至少,别人的解题报告 (一般我们称之为 WriteUp 简称 WP) 你得看得懂,你会看着跟着复现。

所以我认为,CTF是欢迎每一位新成员的加入的,只要你对CTF感兴趣,你都可以在这个世界里自由的探索,学长们都会热心地解答你在学习过程中遇到的问题。

学习平台推荐

刷题平台

NSSCTF

BUUCTF

CTFshow

攻防世界

技术社区

学会搜索技巧,可以在上面找到很多师傅为你铺好的路

博客园

CSDN

虽然我们戏称看CSDN是在史里淘金,毕竟这是中国知名度最高的技术社区,上面毕竟还是有金的。

先知社区

结语

​ CTF是很有趣的,但当你一只脚踏进大门时,你也会顿感其中的枯燥与乏味,这是学习知识和技术的过程中必然会经历的事情。希望你能铭记你的第一次FLAG正确的界面,铭记第一次一血的兴奋,铭记踌躇整晚,只为了做出一道难题的午夜,铭记和队友们并排相坐,为了同一个目标奋斗的黄昏,那是你前行路上的内驱力,也是你走之后的路的一以贯之的信念。希望这次新生赛能成为你一次美好的记忆。