学习资源
一、综合型平台(最适合初学者,像“CTF界的洛谷”)¶
这类平台题目分类清晰,有完善的引导和社区,是入门首选。
- CTFlearn (ctflearn.com)
适合有基础的
-
特点:强烈推荐给初学者。题目数量巨大,覆盖所有方向(Web、Crypto、Reverse、Pwn、Forensic等)。题目由用户提交,有难度分级和讨论区,你可以看到其他人的解题思路。
-
体验:界面友好,提交Flag的形式和洛谷提交答案很像。是很多人的CTF起点。
-
picoCTF (picoctf.org)
- 特点:由卡内基梅隆大学(CMU)创建,绝对的新手之友。它的教程引导做得极其出色,从最简单的题目开始,每一步都有提示和讲解,就像打游戏做任务一样,能让你无痛入门。
-
体验:每年会举办一次盛大的picoCTF比赛,但其平台常年开放,可以随时去练习往年的题目。
-
HackTheBox (hackthebox.com)
- 特点:更偏向实战和渗透测试,在全球渗透测试和CTF圈内极负盛名。它提供大量真实的、持续更新的虚拟机靶机供你“破解”(Hack The Box)。你需要通过技巧获得邀请码才能注册,这本身就是一个入门挑战。
- 体验:分为“Starting Point”(新手村)、“Retired Machines”(已退役的机器,需要VIP)和“Active Machines”(活跃机器,免费可打)。虽然部分功能需要付费,但免费内容已足够你学习很久。
二、提供在线环境的平台(无需本地配置,开箱即用)¶
这类平台直接提供虚拟终端或Web环境,让你专注于解题本身。
- OverTheWire (overthewire.org)
- 特点:通过游戏通关的方式学习Linux命令和基础安全概念。最著名的是
Bandit系列,教你使用SSH连接并逐关学习Linux命令行技巧,后续还有更难的WarGame。 - 体验:交互式命令行学习,趣味性很强,是练习基础能力的绝佳场所。
- RingZer0 (ringzer0ctf.com)
- 特点:提供大量在线挑战,特别是ShellCode和编程类题目很有名。你需要编写代码或利用技巧从网页中提取出Flag。
- 体验:题目设计精巧,挑战性较高。
三、比赛真题平台(用于进阶和模拟实战)¶
这些网站收录了历年全球各大CTF比赛的真题,你可以像在洛谷上刷ACM真题一样来刷CTF真题。
- CTFtime (ctftime.org)
- 特点:这不是一个做题平台,而是CTF比赛的“信息中心”。它汇总了全球所有的CTF赛事信息、排名和赛题存档。你可以在这里找到任何一场知名比赛的题目描述及附件,然后链接到相应的GitHub仓库去下载和练习。
- 用法:在CTFtime上找到你想做的比赛,点击进入后通常会有“Tasks”或“Writeups”标签,里面会提供题目文件和在线的解题报告(Writeup)。
- GitHub
- 特点:全球最大的CTF真题仓库。几乎所有比赛的主办方都会在赛后把题目源码和文件开源到GitHub上。搜索
[CTF名称] writeup或[CTF名称] challenge可以找到大量资源。 - 常用仓库:例如
awesome-ctf这个项目,里面收集了大量的CTF资源、工具和平台链接。
总结与建议¶
| 平台名称 | 网址 | 适合人群 | 特点 |
|---|---|---|---|
| CTFlearn | ctflearn.com | 初学者、综合练习 | 社区活跃,题目多,有讨论区 |
| picoCTF | picoctf.org | 绝对新手、学生 | 引导教学做得最好,游戏化体验 |
| HackTheBox | hackthebox.com | 初学者进阶、渗透实战 | 真实靶机环境,偏向实战 |
| OverTheWire | overthewire.org | 练习Linux基础 | 游戏化通关学习命令行 |
| CTFtime | ctftime.org | 所有阶段 | 比赛信息中心,查找真题和Writeup |
给你的学习路径建议:
- 完全新手:从 picoCTF 开始,像玩解谜游戏一样完成所有基础题目。
- 巩固基础:去 CTFlearn 或 OverTheWire 的
Bandit关卡,分类别地做题,建立知识体系。 - 模拟实战:尝试 HackTheBox 的“Starting Point”新手村,体验更真实的渗透过程。
- 参加比赛/刷真题:关注 CTFtime,报名参加一些新手赛,赛后通过它提供的链接下载真题,并阅读别人的“Writeup”学习思路。
这些平台完全免费,资源丰富,足够你从入门到精通。祝你学习愉快,旗开得胜!