跳转至

从 0 到 1

学习建议

  • 新手刚开始学习某一个方面的内容 (例如编程语言, Linux, Docker) 时, 不需要一股脑从头学到尾, 初期先有个基本的知识即可
  • 入门阶段最重要的是快速上手实践, 对于 CTF 来说就是边学边练, 一边结合网上的文章/视频学习, 一边自己动手在本地环境/刷题平台上结合具体题目进行实践
  • 在学习时选择一个合适的搜索引擎能够节省很多时间, 优先使用 Google, 如果没有网络条件, 则可以使用 Bing, 永远都不要使用百度
  • 可以参考网上的教程使用 GitHub Pages + Hexo/Hugo 搭建一个静态博客, 日常记录自己的 Writeup (刷题记录) 和笔记

计算机基础知识

面向完全零基础同学的计算机基础课程

浏览器插件

Google 语法

Google 语法是一种利用搜索引擎精确查询数据的的语法,虽然名字里带 Google, 但实际上对于其它搜索引擎 (例如 Bing) 也是适用的

熟练掌握 Google 语法能够使我们快速准确的找到我们想要的内容

# 搜索 xz.aliyun.com 网站下关于 SQL 注入的内容
site:xz.aliyun.com SQL 注入

# 搜索 XSS, 但是排除 CSDN 相关的结果
XSS -csdn

Markdown 语法

Markdown 是一种轻量级的标记语言, 它允许人们使用易读易写的纯文本格式编写文档

与 Microsoft Office 或 WPS 相比, Markdown 非常容易上手, 在格式和排版上面几乎不用花费精力

一般而言, 我们推荐使用 Visual Studio CodeTypora 这两个软件编写 Markdown

Git 版本管理

Git 是一个分布式版本控制软件, 学习如何使用 Git 也是成为一名 CTFer 的必经之路

Python 语言

这里我们建议优先学习 Python 而不是 C 语言, 因为 Python 简单易上手, 而且各个方向都会用到

对于 Python 的学习, 只需要掌握一些基本知识即可, 例如变量、控制结构、数据类型、类与对象、文件操作

同时还需要了解一些标准库和第三方库的运用, 例如 re、os、sys、json、socket、requests、pwntools

Linux 系统基础

Linux 是一种开源的操作系统, 在学习 CTF 的过程中, 无论什么方向, 都需要和 Linux 接触

Docker 快速上手

在制作 CTF 题目的过程中, 需要用到 Docker 来制作镜像

刚入门时可以先掌握 Docker 的一些基础概念和用法, 例如镜像、容器的概念, 如何启动、停止容器, 如何编写 Dockerfile 和 docker-compose.yml