纸上得来终觉浅,绝知此事要躬行。一次失败的面试经历让我发现,我口口声声说着对网络安全感兴趣,却从来没有深挖过相关的知识,不过了解一些皮毛的概念罢了。痛定思痛,我下定决心,要自己主动学习,提升知识储备。
在此前的学习中,我始终处于一个被动的状态。不是有课程要求,在一个大趋势下跟着既定的计划走;就是有各种零碎的任务需求,并在完成任务途中随着自己的兴趣学习与探索。因此,我其实不太确定要怎么从头开始系统自学一门课程。只能摸着石头过河,慢慢探索了。
这一次,我打算按照搜集资源→制定计划→跟踪学习的路线开展学习。先把收集到的学习资料放在这里,然后根据所拥有的资源制定计划,再时刻追踪完成进度并总结。事实上,我每次考前复习也是遵循的这个模式,效果非常好。
1 学习资源#
A. 原理与基础知识#
CTF(Capture The Flag,夺旗赛)起源于 1996 年 DEFCON 全球黑客大会,是网络安全爱好者之间的竞技游戏。
- CTF-Wiki ↗:CTF Wiki 包含了 CTF 各大范畴的基础知识,便于初学者快速入门,Wiki 的组织形式也适合在学习时快速查阅。
- CTF 竞赛入门指南 ↗:该指南从基础概念开始,对CTF及其相关内容进行了系统介绍,适合零基础的同学系统学习。对于具体的技巧的讲解则集中在 Pwn 和 Reverse 领域。
B. 系统学习与练习#
- PortSwigger 网络安全学院 ↗:PortSwigger 是著名网络安全工具套件 Burp Suite 的提供商,其官网为初学者提供了全面的学习路径与靶场,尤其适合系统学习。初学者可以通过专题 ↗的方式选择性训练,也可参照其提供的学习路径 ↗稳步提升。
- Pwn College ↗: pwn.college 是一个开源网络安全学习与实践平台,基于 CTFd (Capture The Flag)框架构建,专注于网络安全 - 二进制相关技能的训练。
- CS155: Computer and Network Security ↗:斯坦福大学的计算机与网络安全课程。其课程官网下的项目作业提供了一个靶场,较为全面地覆盖了常见的攻击类型。学生在成功利用漏洞后,也要求编写 patch 进行防御,有利于从不同视角全面了解 SQL 注入、XSS 攻击等基础攻击的原理。
- CTFHub ↗:CTFHub提供了全网最全最新的 CTF 赛事信息,同时也具备清晰的 CTF 学习路线 ↗,界面简洁。平台适合初学者系统入门,也可开展真题训练。
C. CTF刷题平台#
不同平台都各有特色,无需纠结使用什么平台,最重要的是持之以恒的练习。
2 学习计划#
由于我本科阶段已对计算机网络、操作系统等前置知识有了系统的学习,并且有一定的网络安全知识基础,本次学习计划主要聚焦在原理剖析与实践强化,主要目标是成功入门,能够在 CTF 比赛(Web方向)中开展实战。
- 理解网络安全与 Web 攻防的核心技术原理
- 掌握主要攻击与防御方法,构建攻防思维
- 学会独立分析与复现CTF题目中的典型漏洞
- 熟悉主流攻防工具、框架与靶场环境
- 在 Web 方向具备一定熟练度,并具备 Pwn 和 Misc 等领域的基本解题能力
Step 1:Web基础&环境配置#
- 完成 CTFHub 中“技能树”的 Web 章节。在完成过程中整理题目中出现的典型漏洞及攻防思路。
- 整理常见的攻防工具,配置好环境并初步熟悉使用方法。
- 完成 PortSwigger 学院中服务器端漏洞专题的基础学习路径 ↗,同样对典型漏洞及攻防思路进行总结。如有余力可额外整理学习与实验笔记。
Step 2:进阶学习&工具使用#
- 在 攻防世界/BugKu 上按从易到难的顺序选做经典 Web 题(建议每日2题+)
- 熟悉 Metasploit、AntSword等工具,将其应用到简单实战渗透流程,整理工具的常见用法。
- 在 PortSwigger 学院中完成服务器端漏洞专题的进阶学习 ↗,并在此过程中熟悉各类工具的使用。
- 完成 CTFHub 中“技能树”的 Pwn 和 Misc 章节。
Step 3:刷题强化&综合实战#
- 持续进行刷题练习,保持每日 3+ 题的频率。
- 参加至少一次线上 CTF(可通过 CTFHub 寻找)。
- 整理学习总结(如知识笔记、漏洞复现记录、解题writeup)。