**CTF(Capture The Flag)中文译作:夺旗赛
**
CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。
而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。
一、赛事介绍
CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。
二、竞赛模式
CTF竞赛模式具体分为以下三类:
**1、解题模式(Jeopardy)
**
在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。
**2、攻防模式(Attack-Defense)
**
在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。
3、混合模式(Mix)
结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。
**三、CTF各大题型简介
**

**PWN(溢出):**PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。在CTF比赛中,线上比赛会有,但是比例不会太重,进入线下比赛,逆向和溢出则是战队实力的关键。主要考察参数选手漏洞挖掘和利用能力。
MISC(安全杂项):全称Miscellaneous。题目涉及流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广。我们平时看到的社工类题目;给你一个流量包让你分析的题目;取证分析题目,都属于这类题目。主要考查参赛选手的各种基础综合知识,考察范围比较广。
**CRYPTO(密码学):**全称Cryptography。题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术。实验吧“角斗场”中,这样的题目汇集的最多。这部分主要考查参赛选手密码学相关知识点。
**WEB(web类):**WEB应用在今天越来越广泛,也是CTF夺旗竞赛中的主要题型,题目涉及到常见的Web漏洞,诸如注入、XSS、文件包含、代码审计、上传等漏洞。这些题目都不是简单的注入、上传题目,至少会有一层的安全过滤,需要选手想办法绕过。且Web题目是国内比较多也是大家比较喜欢的题目。因为大多数人开始安全都是从web日站开始的。
**REVERSE(逆向):**全称reverse。题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。需要掌握汇编,堆栈、寄存器方面的知识。有好的逻辑思维能力。主要考查参赛选手的逆向分析能力。此类题目也是线下比赛的考察重点。
**PPC(编程类):**全称Professionally Program Coder。题目涉及到程序编写、编程算法实现。算法的逆向编写,批量处理等,有时候用编程去处理问题,会方便的多。当然PPC相比ACM来说,还是较为容易的。至于编程语言嘛,推荐使用Python来尝试。这部分主要考察选手的快速编程能力。
**STEGA(隐写):**全称Steganography。隐写术是我开始接触CTF觉得比较神奇的一类,知道这个东西的时候感觉好神奇啊,黑客们真是聪明。题目的Flag会隐藏到图片、音频、视频等各类数据载体中供参赛选手获取。载体就是图片、音频、视频等,可能是修改了这些载体来隐藏flag,也可能将flag隐藏在这些载体的二进制空白位置。有时候需要你侦探精神足够的强,才能发现。此类题目主要考查参赛选手的对各种隐写工具、隐写算法的熟悉程度。实验吧“角斗场”的隐写题目在我看来是比较全的,以上说到的都有涵盖。新手盆友们可以去了解下。
**四、赛题情况分析
**
-
PWN、Reserve 偏重对汇编、逆向的理解
-
Crypto 偏重对数学、算法的深入学习
-
Web 编程对技巧沉淀、快速搜索能力的挑战
-
Misc 则更为复杂,所有与计算机安全挑战有关的都算在其中
五、CTF学习路线
对于从来没有接触过CTF的同学,大白帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

《CTF入门学习手册》,可以扫描下方二维码免费领取!
[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]
CTF 工具集合
| VSCode | 最好用 最轻量的 文本编辑器 依靠扩展可实现包括但不限于 IDE 各种功能 | 官网 | / |
| VMware Workstation | 虚拟机软件 | 官网 | / |
| PyCharm | Python 集成开发环境 (IDE) | 官网 | / |
| IDEA | Java 集成开发环境 (IDE) | 官网 | / |
| PHPStorm | PHP 集成开发环境 (IDE) | 官网 | / |
| PHPStudy | Web 环境 (Apache / Nginx + FTP + MySQL) 快速部署 常用于 Web 初学阶段的一些本地 web 页面的搭建 | 官网 | / |
| Docker | 容器服务 常用于 题目本地搭建测试 靶场环境,漏洞复现环境搭建等 除了静态附件题目,几乎所有的 CTF 题目都依赖 Docker | 官网 | / |
| Navicat | 优秀的数据库 管理 操作 调试 以及 可视化软件 | 官网 | / |
| Watt Toolkit | GitHub Discord 部分谷歌服务 页面元素 CDN 访问加速 | 不是用来让你打游戏的啊喂 (#`O′)! | GitHub | / |
| Clash |
| UsagePage | / |
| Binaryai | 基于开源项目代码匹配度在线反编译工具
| UsagePage | / |
| IDA | 最常用的静态逆向工具 | 官网 | ida pro 权威指南 |
| Ghidra | 开源的静态逆向工具,和 IDA 作用相同 | 官网 | / |
| Ollydbg | 同为反汇编调试器 (官方已经停止维护) | 官网 | / |
| x64dbg / x32dbg | 在 windows 上使用的开源 x64 / x32 调试器 | 官网 | / |
| DIE | 查壳工具,拿到程序第一件事就是分析文件类型,是否有壳 | GitHub | GitHub |
| Exeinfope | 同为查壳工具 | 官网 | / |
| Cheat Engine | 对程序的内存数据进行扫描和调试。 | 官网 | / |
| GDB | 一般用于 ELF 的动态调试,配合插件 (如 pwngdb,gdb-peda) 使用更佳 | 使用包管理工具安装 | Sourceware |
| z3 | 开源的约束求解器,针对约束求解题型 | GitHub | / |
| dnSpy | 强大的 .NET 调试、修改和反编译的工具 (已停止维护) | GitHub | / |
| ----Java 反编译 |
|
|
|
| JADX | 开源 更好的代码可读性 自动恢复丢失的类和方法、变量和方法名称、可以将反编译结果导出为 Eclipse 或 IDEA 项目 | GitHub | / |
| JD-GUI | 更好的代码可读性 可导出为 Java 文件或 Jar 包 | GitHub | / |
| JEB | 支持 wasm 可交叉引用、可看字节码、反编译结果纯粹 | 官网 | / |
| GDA | 支持 apk, dex, odex, oat, jar, class, aar 文件的反编译, 支持 python 及 java 脚本自动化分析 | 官网 | / |
| Fernflower | IDEA 采用的反编译工具 , 支持 Jar 包反编译。 | GitHub | / |
| ----Python 反编译 |
|
|
|
| pycdc | pyc 反编译 , 对高版本有不错兼容性。 | GitHub | / |
| Unpy2exe | 对 py2exe 打包的 python 程序提取字节码文件 (.pyc)。 | GitHub | / |
| Pyinstxtractor | 对 pyInstaller 打包的 python 程序提取字节码文件 (.pyc)。 | GitHub | / |
| [Python]uncompyle | 用于对 Python 字节码文件 (.pyc) 的反汇编,将其变成 python 源代码。 | 官网 | / |
💥 PWN | 二进制¶
| 项目名称 | Usage | 项目地址 | 其他 |
|---|---|---|---|
| GDB | 一般用于 ELF 的动态调试,配合插件 (如 pwngdb,gdb-peda) 使用更佳。 | Sourceware | / |
| Pwntools | 用于编写 EXP。 | GitHub | / |
| Pwncli | 一款简单、易用的 pwn 题调试与攻击工具,帮助你快速编写 pwn 题攻击脚本,并实现本地调试和远程攻击的便捷切换,提高你在 CTF 比赛中调试 pwn 题脚本的速度与效率。 | GitHub | / |
| Checksec | 查看二进制文件开启了哪些保护机制。 | GitHub | / |
| ROPgadget | 编写 ROP 的 EXP 时需要用到,可以帮助你寻找合适的 gadgets。 | GitHub | / |
| objdump | 反汇编工具,查看文件的一些表信息,如 got 表。 | / | / |
| radare2 | UNIX-like reverse engineering framework and command-line toolset. | GitHub | / |
| windbg | Window 内核模式和用户模式代码调试。 | Microsoft Learn | / |
🛡 AWD / AWDP¶
| 项目名称 | Usage | 项目地址 | 其他 |
|---|---|---|---|
MISC | 杂项
信息收集
编码扩展
文件基础
压缩包
隐写技术
流量分析
内存取证
附 : 文件签名表
Web | 网络攻防
-
Web 入门题单
-
PHP 基础
-
PHP 反序列化基础
-
SQL 注入
-
XSS 攻击
-
文件包含
-
SSTI 注入
Crypto | 密码学
-
1. 前情提要
-
2. 编码基础
-
3. 古典密码
Reverse | 逆向工程
-
1. 引导篇:灵魂 F&Q
-
2. Quick Start:可执行文件
-
3. Quick Start:ASM 汇编
-
4. Quick Start:Example problems
-
5. 从零开始的 IDA
-
6. 从零开始的壳
Pwn | 二进制安全
-
汇编语言 (x86)
-
栈上数组越界 & 栈溢出
1.1. ROP 入门
1.2. 常见的 ROP 技巧
- 常见保护
x. 杂七杂八的解题技巧
AWD | 攻防模式
-
AWD 介绍
-
AWD 平台
-
【WEB】AWD 技巧
-
【PWN】AWD 技巧
AI | 人工智能安全
初识 AI
你的第一个神经网络
blockchain | 区块链安全
为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

&spm=1001.2101.3001.5002&articleId=142412017&d=1&t=3&u=c0993abe041843a78f135ea1d676f565)
2786

被折叠的 条评论
为什么被折叠?



