**⚠︎温馨提示:**本学习路线适合TKK网安宝宝体质,全程可0基础观看。也欢迎想更加了解网络安全竞赛的你们踊跃举手发问🙋,我在评论区等你们😊。

哈喽,相信在看这篇学习路线的你一定是对网络安全,或者说“黑客技术”有着的进一步学习的信心,想进一步了解关于网络安全竞赛的事宜

不论你之前对这方面的掌握有多少,是不是脚本小子,会不会编程语言,数学好不好,甚至有没有计算机基础,都不妨碍你在黑客的领域进一步探索与学习。

本篇学习路线分为两个部分,“简介“和”学习步骤”。如果你想了解特定领域的内容,可以点击目录辅助观看噢

CTF简介

什么是CTF?

CTF(Capture The Flag,夺旗赛)CTF 的前身是传统黑客之间的网络技术比拼游戏,起源于 1996 年第四届 DEFCON(世界黑客大会),以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。

CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为**“flag”**🚩。

flag所表示的为目标服务器上存储的一些敏感机密的信息, 这些信息正常情况下是不能对外暴露的。选手利用目标的一些漏洞,获取到flag,其表示的即为在真实的黑客攻击中窃取到的机密信息。

一般情况下flag拥有固定格式为flag{xxxxx},有些比赛会把flag关键词替换,例如我们XUJC Lab平台的flag为xujc{xxxxx},利用固定格式来反推flag也是一种常见的解题思路

👀正常情况下,一场比赛中每支队伍人数为3到5人不定,每个人负责不同方向的题目(详细请往下看)。由于团队成员有各自不同方向的题目分配,因此就不存在一些其他比赛常见的”一人不会,队友带飞“的雷人场面。

🧑‍💻对于一个专业的黑客来说,拥有CTF经验是必不可少的。参加各大CTF赛事能够让你更加灵活地适应各类实战环境。而CTF考验最多的则是对一些从未被发现过的漏洞的挖掘,是最真实的黑客攻击过程。

CTF比赛的内容是什么?

和ACM的单一算法题不同,传统CTF比赛中有分为多种不同方向的题目。一般有web,pwn,reverse,misc和crypto等方向,近些年来又加入了诸如osint,Android,blockchain,AI等新方向。下面就让我们一一介绍

🌏web

Web类题目大部分情况下和网络相关技能有关。主要考察选手对于网络攻防的一些知识技巧。诸如SQL注入信息伪造远程恶意代码执行漏洞挖掘等等常见网络攻击手段。一般情况下Web题目会给出一个能够访问的网址,然后要求对其进行攻击。部分题目会给出网站源代码供漏洞挖掘。

实战案例:网站入侵,内网渗透

建议:适合喜欢研究网络有关的成员学习,也适合当作CTF入门方向

🔧pwn

pwn这个名字最早也是出于世界黑客大会,从黑客们以攻破设备或者系统后的”boom“发音而来。Pwn类题目重点考察选手对于设备和系统底层逻辑漏洞的挖掘和利用能力,其攻破手段也通常在堆栈溢出格式化漏洞UAFDouble Free等常见底层二进制漏洞上。选手需要根据题目中给出的二进制可执行文件进行逆向分析,找出其中的漏洞并进行利用,编写对应的漏洞攻击脚本(Exploit),进而对主办方给出的远程服务器进行攻击并获取flag

实战案例:iphone越狱,路由器固件破解,操作系统提权

建议:适合对计算机硬件、计算机底层逻辑感兴趣的成员学习,学习门槛较高,对计算机原理功底要求高。不适合作为入门方向学习

🧑‍🔧reverse

顾名思义,reverse的含义是”逆向“。这类题目考察选手对软件的逆向工程能力。题目会给出一个可执行文件。选手需要逆向给出的程序,分析其程序工作原理。最终根据程序行为等提示找到flag

实战案例:游戏破解,游戏外挂编写

建议:适合喜欢研究软件破解、外挂编写的成员学习,对程序执行逻辑的分析能力要求高。

🔑crypto

crypto题目考察选手对密码学相关知识的了解程度,诸如RSAAESDES等都是密码学题目的常客。有些时候也会给出一个加密脚本和密文,根据加密流程逆推出明文。

实战案例:程序加密逆向

建议:适合喜欢数学、或数学成绩较好的成员学习。(鉴于难度奇高,不推荐学习)

🤹misc

misc意为杂项,即不包含在以上分类的题目都会放到这个分类。题目会给出一个附件。选手下载该附件进行分析,最终得出flag。misc常见的题型有图片隐写、视频隐写、文档隐写、流量分析、协议分析、游戏、IoT相关等等。五花八门,种类繁多。

实战案例:信息隐藏

建议:适合喜欢研究使用各类工具软件(文本处理、图像处理、音频处理)的成员学习,适合作为入门方向学习。

🔎osint

osint早期被归纳为misc。其实就是近年来在各大视频网站上火起来的“网络迷踪”,也叫情报分析。题目通过提供一张照片、一段话或是其他任意形式的线索,供选手寻找一些信息(例如某个建筑的名字、某个时间、甚至某个人的名字以及其他敏感信息),并作为flag提交

实战案例:参考柯南😂

建议:适合所有成员学习,可以配合misc作为入门方向,但不适合专攻

📱android

android题考验选手对安卓系统的了解程度。通常以APK逆向安卓系统“Root”等题目为主。

实战案例:安卓系统“Root”,安卓手机软件/游戏破解

建议:参考reverse的建议

🔗blockchain

blockchain方向主要以区块链安全为主。题目有诸如虚拟货币钱包破解等。(该方向出现概率较小,因此可参照题目类型也较少。)

实战案例:比特币钱包盗用

建议:建议作为学习完上述某一方向后的拓展方向,不适合专攻

🤖AI

近年来大火的一个赛道,甚至有独立出CTF的AI安全比赛。出现在CTF中的题目将让选手自己制作AI模型,来检测出题者给出的病毒恶意文件,利用AI分析出的数据拼凑出正确的flag

实战案例:垃圾邮件/短信检测,新型杀毒软件

建议:适合对机器学习感兴趣的成员学习

CTF比赛模式

说了这么多供你选择的方向,接下来就来看看各个方向要在不一样的比赛模式里要怎么大展身手吧🫵

😎值得一提的是,和大部分“闭卷式”的比赛不一样(例如ACM算法竞赛),为了模拟最真实的黑客入侵环境,不论是什么模式的CTF比赛,都是可以自由上网查阅资料的

Jeopardy-解题模式 (最经典🎻)

参赛队伍可以通过互联网或者现场网络线下参与,参数队伍通过与在线环境交互或文件离线分析,解决网络安全技术挑战获取相应分值,类似于 ACM 算法竞赛、信息学奥林匹克赛的根据总分和时间来进行排名。

这个解题模式一般会设置 一血(First Blood) 、 二血(Second Blood) 、 三血(Third Blood) ,也即最先完成的前三支队伍会获得额外分值,所以这不仅是对首先解出题目的队伍的分值鼓励,也是一种团队能力的间接体现。

AwD-攻防模式 (最热门🔥)

Attack with Defense(AwD)全称攻防模式,在攻防模式CTF赛制中,参赛队伍连接到同一个网络空间。主办方会预先为每个参赛队分配要防守的主机,该主机称之为GameBox,每个队伍之间的GameBox配置及漏洞是完全一致的,选手需要防护自己的GameBox不被攻击的同时挖掘漏洞并攻击对手服务来得分。

RHG-自动化[AI] (最新颖⭐)

Robot Hacking Game(RHG)该利用人工智能或是AI或是自动化攻击程序来全自动的挖掘并利用漏洞,考验选手对于漏洞理解以及工程化能力。比赛开始前(一般为1-4周左右)主办方会给出测试环境以及相关接口文档。选手需要编写自动化程序来请求接口获取题目相关信息,该类程序通常称之为bot,在程序中全自动访问并挖掘目标漏洞,完成利用漏洞攻击并获取flag的过程。

RW-真实世界 (最真实🌏)

Real World(RW) 首次于2018年长亭科技主办的RealWorldCTF中出现,该赛制着重考察选手在面对真实环境下的漏洞挖掘与利用能力。通常RW模式出题也会围绕着能够应用于真实渗透攻击当中的漏洞,一般来说RW常见题型为VM/Docker逃逸、针对浏览器的攻击、针对IoT/汽车等设备的攻击,Web类攻击等等 在RW赛制中会有一个ShowTime,当选手认为自己已经可以完成题目时,选手可以在比赛平台上提交展示申请,由工作人员根据申请先后顺序进行展示排期。

KoH-抢占山头 (最好玩👌)

King of Hill(KoH)是近些年新衍生的一种赛制。该赛制有点类似于AwD,但是又和AwD有些不一样。选手面对的是一个黑盒的目标,需要先挖掘漏洞并利用漏洞控制目标。将自己的队伍标识(队伍名称或是Token之类)写入到指定文件。随后在该主机上进行加固等操作防止其他队伍攻击,主办方会定期去检查标识文件,根据文件中的队伍标识来判定本回合分数给予哪个队伍。

CTF学习路线

了解完CTF是什么后,当你坚定了想学CTF的心,但却不知道从何下手,就可以接着往下看🕶

第一步:参与培训🙋

如果你也曾面临着尝试自学、找资料无果的窘境,那么参与我们的免费线下培训一定可以帮你扫除许多CTF学习上的盲区。例如你想学习web方向,看过网上各类教程文章视频后却不知道是该先学习SQL注入还是远程命令执行,或是不知道SQL注入该从哪学起,那么线下培训就能解决你的这些问题。

培训将主要关注在web入门和reverse入门的内容,不论最后你是否要深入学习这两个方向,也能从培训课中找到适合你的CTF学习方法

如果你想听更多其他方向的课,可以随时关注其他战队成员在群上发起的分享课,可以通过线上或线下的形式参加

第二步:刷题✍

在培训的过程中,刷题是必不可少的。培训课的内容只是让你知道各个漏洞的知识点,而如何利用以及更深一步的了解则是靠刷题去熟悉。

首先,你需要先刷完CTFhub上的web基础,让你初步了解基础题

img

其次,你需要刷攻防世界中的引导模式,巩固基础(当然,你也可以选择除web外的其他任意方向)

img

然后,继续在攻防世界刷困难模式或者到CTFshow刷一下难度更高的题

img

最后,到XUJC Lab中挑战实战难度的题目,并参与我们举办的校内比赛,参与选拔

image-20250305223833485

第三步:正式成为我们的一员🎉

如果你能走到这里,并通过了我们的选拔,那么恭喜你,其实这并不是最后,属于你真正的挑战也才刚刚开始。

你可以和我们一起参加几乎每周都有的国内外各大CTF比赛

image-20250305224051946

当然,也有线下赛出行

image-20250305224051946

运气好的话,说不定还能和我们一起出没各大线下安全论坛,体验“黑客聚会”

image-20250305224051946

讨论

如果有任何关于CTF的问题,欢迎在评论区留言,或者通过QQ群联系我们

感谢

感谢某天晚上“牛牛”给我的建议,启发我对给新成员介绍协会的方法做出一些改变

🫡同时也非常感谢协会纳新一年来陪伴协会一路走来的成员们,协会因为有你们而不断成长。每一个努力的人都值得被致敬,致敬为梦想步履不停的你