【2025版】最新大学生如何参加CTF?零基础如何入门?收藏这篇就够了

前言


最近很多朋友在后台私信我,问应该怎么入门CTF。个人认为入门CTF之前大家应该先了解到底什么是CTF,而你学CTF目的又到底是什么;其次便是最好具备相应的编程能力,若是完全不具备这些能力极有可能直接被劝退。毕竟比赛的时候动不动写个脚本,搞个审计的。

废话结束,对于CTF入门现在坏境比15 16年我刚接触时好太多了,当年各类资源少的可怜,SQL注入绕WAF已经算是难题了。而目前国内的氛国明显好太多了,涌现出了大量优秀的平台。作为初学者往往会遇到-一个很头键的问题:该学哪个方向。个人感觉,在不知道学啥的事情可以先学学Misc培养兴趣,然后在不断的做题中思考白己感兴趣的方向。其次日后发展也是个很关键的事情,如果准备毕业后重试网络安全,那么就需要想好Web、Pwn这些方向的日后发展。可以干哪些岗位,而这些岗位需要的对应能力、发展空间、薪资等等。

一、CTF简介


01」简介

中文一般译作夺旗赛(对大部分新手也可以叫签到赛),在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。

CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。

02」竞赛模式

解题模式:

在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。

题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。

攻防模式:

在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。

攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。

在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。

混合模式:

结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。

03」总结

一般大型比赛大都是i春秋承办的,以小组的形式比赛,分预选赛和总决赛。

预选赛

都是线上比赛,比赛形式几乎都是解题模式。进入官方提供的网站,登录账号密码后会到一个页面,题目按类别分类(后续会讲有什么类别),点击后提供题目链接、题目信息、题目提示和flag(答案)提交,提交后会得到分数。

其中,一血、二血、三血拿的分数比较高,后面答该题的队伍拿的分数就一样了,答题的队伍越少,分数就越多,然后按分数排名,确定进入决赛的队伍。

如:一道签到题,开始定的分为500,当有队伍提交正确的flag,那么分数就会下降,下降到470/450这样的,人数越多,分数下降幅度越大。

而一血二血三血获得分数会高于后续答题正确的。

总决赛

几乎都是线下赛,进行混合模式,因为攻防模式的题目容易出现易守难攻、比速度节题这种学习不到知识的问题,也因为这样,大部分的总决赛都是以逆向为主,很容易变成逆行大赛。

二、题目分类


题目一般为6大类:

Web(网络安全)

Web是CTF竞赛中主要的题型之一,题目涉及到许多常见的WEB漏洞,诸如XSS、文件包含、代码执行、上传漏洞、SQL注入。也有一些简单的关于网络基础知识的考察,例如返回包、TCP-IP、数据包内容和构造。可以说题目环境比较接近真实环境。

所需知识点:PHP、Python、SQL(以mysql为主)、TCP-IP、linux命令、html、javascript等。

MISC(安全杂项)

MISC是大型CTF竞赛的题目难度很大,是一个可以拉开分数的类型,而在小型竞赛和题库中却难度不大。题目涉及隐写术、流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广,主要考查参赛选手的各种基础综合知识。

所需知识点:熟悉使用众多隐写工具、流量审查工具、了解编码等。

Crypto(密码学)

主要包括古典密码学和现代密码学两部分内容,古典密码学趣味性强,种类繁多,现代密码学安全性高,对算法理解的要求较高。

所需知识点:矩阵、数论、古典密码学、算法等。

Reverse(逆向)

题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。主要考查参赛选手的逆向分析能力。

所需知识点:汇编语言、加密与解密、常见反编译工具。

PWN(二进制安全)

PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。主要考察参数选手对漏洞的利用能力。

所需知识点:C,OD+IDA,数据结构,操作系统。

Mobile(移动安全)

主要介绍了安卓逆向中的常用工具和主要题型,安卓逆向常常需要一定的安卓开发知识,iOS 逆向题目在 CTF 竞赛中较少出现,因此不作过多介绍。

区块链

近来多个CTF比赛均出现区块链题目,区块链应用越来越成为热门应用,在未来区块链会成为一个重点。因为没有接触过,这里不详细讲。

五、CTF学习路线

对于从来没有接触过CTF的同学,大白帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

CTF入门学习手册》,可以扫描下方二维码免费领取

在这里插入图片描述

CTF 工具集合




VSCode最好用 最轻量的 文本编辑器 依靠扩展可实现包括但不限于 IDE 各种功能  官网/
VMware Workstation虚拟机软件  官网/
PyCharmPython 集成开发环境 (IDE)  官网/
IDEAJava 集成开发环境 (IDE)  官网/
PHPStormPHP 集成开发环境 (IDE)  官网/
PHPStudyWeb 环境 (Apache / Nginx + FTP + MySQL) 快速部署   
常用于 Web 初学阶段的一些本地 web 页面的搭建
官网/
Docker容器服务   
常用于 题目本地搭建测试 靶场环境,漏洞复现环境搭建等
除了静态附件题目,几乎所有的 CTF 题目都依赖 Docker
官网/
Navicat优秀的数据库 管理 操作 调试 以及 可视化软件 官网/
Watt ToolkitGitHub 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 表。//
radare2UNIX-like reverse engineering framework and command-line toolset.GitHub/
windbgWindow 内核模式和用户模式代码调试。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 | 二进制安全

  1. 汇编语言 (x86)

  2. 栈上数组越界 & 栈溢出

1.1. ROP 入门

1.2. 常见的 ROP 技巧

  1. 常见保护

x. 杂七杂八的解题技巧

AWD | 攻防模式

  1. AWD 介绍

  2. AWD 平台

  3. 【WEB】AWD 技巧

  4. 【PWN】AWD 技巧

AI | 人工智能安全

初识 AI

你的第一个神经网络

blockchain | 区块链安全

网络安全学习路线&学习资源

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级网工

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

“脚本小子”成长进阶资源领取

7、脚本编程(初级/中级/高级)

在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。

8、超级网工

这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员一粟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值