一、课程简介
CTF(Capture The Flag,夺旗赛)是一种流行于网络安全技术人员之间的一种信息安全技术竞赛。其前身是传统黑客之间网络技术比拼的游戏,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。起源于1996年第四届DEFCON。现在已成为全球范围网络安全圈流行的竞赛形式。
通常CTF分为三种赛制:解题赛(Jeopardy)、攻防赛(Attack-Defence)和混合赛。
竞赛模式基本分为解题模式、攻防模式和混合模式。大多题目的内容基本包括web安全,密码学、逆向、二进制安全编程类题目等国内外有很多CTF比赛。
解题赛是线上赛通常采取的赛制,题目通常分为多个类型,如Web,Forensic(取证),Crypto(密码学),Binary(二进制)等。团队或个人可以通过解题获得一串具有一定格式的字符串,也就是flag。将flag提交到竞赛平台可以获得积分。题目的难度越大,分值就越高。当比赛结束后,得分最高者胜出。
攻防赛是另一种有趣的赛制,常见于线下决赛。攻防赛中,每个队伍都会被分配一台主机或虚拟机,称为gamebox,队员可以通过网络连接到gamebox。而所有队伍的gamebox通过内网连接在一起。每个队伍的gamebox上都运行着多个相同的服务。参赛队伍需要挖掘服务的漏洞,然后攻击其他队伍的服务来获取flag,并提交给计分服务器来获取积分。与此同时,参赛队伍还需要修补自身服务中的漏洞来防止丢分。攻防赛不仅考验了参赛选手的技术水平,还考验了参赛者的体力,因为通常参赛者需要连续混合赛可能采取解题赛和攻防赛的混合模式,也可能是其他形式。
二、培训时间
本次CTF竞赛培训包括培训和考核两部分,5天集中培训和2天考核。
三、 培训大纲
序号 |
项目 |
内容 |
1 |
CTF入门 |
- CTF概念和入门
- 国内外安全攻防比赛现状
- 攻防比赛方式和题型介绍
- 安全培训基础环境介绍和配置搭建
- 实训期间所需工具包和资料分发
- 操作系统命令和数据库基础
- PHP和python程序入门
- 数据库基础入门和SQL语言简述
- 网络安全攻防渗透基础知识(搜集、定点、攻击等)
- Linux安全基础(基本命令、系统管理、反弹shell等)
- Windows安全基础(DOS/PS基本命令、用户权限、AD、网络协议等)
|
2 |
数据隐写 |
- 数据隐写基础和工具分发
- 隐写比赛模式和题型分析
- 隐写专项练习:图片隐写、视频隐写、音频隐写、网络协议隐藏、pdf隐写、压缩文件隐写等
|
MISC杂项 |
- 常见MISC杂项题目分析
- 网络流量协议分析基础
- Wireshark工具实操
- 系统日志分析思路
- 社会工程学概念
- 其他技术点探讨
|
3 |
密码编码 |
- 常见比赛密码学题型分析
- 密码编码工具介绍和分发
- 密码学理论基础(凯撒、栅栏、莫斯等)
- 古典密码学题型分析
- 编码解码基础入门
- 常见编码解码题型分析
|
密码学进阶 |
- 现代密码学入门
- 算法加解密原理
- 题型分析和关键代码学习
- 其他算法介绍
|
综合训练 |
- 隐写技术复习
- 密码学复习
- 题目答疑解惑
- 杂项题目实操
|
4 |
WEB基础 |
- Web漏洞基础和工具介绍
- WEB爆破和burp实操
- 任意文件下载和信息泄露
- 文件上传和文件解析漏洞分析
- XSS跨站攻击(反射、存储、DOM)靶场实操
- 命令执行原理和OS命令强化
- 代码执行和PHP代码强化
- XXE原理分析和赛题解析
|
SQLI提高 |
- SQL注入基础(原理、工具、SQLMAP等)
- SQL注入进阶(报错、盲注、联合、宽字节、二阶注入、二次编码等注入)
|
WEB强化 |
- PHP反序列化题型分析
- SSRF原理和题型分析
- 弱类型技术原理
- 变量覆盖和条件竞争
- 文件包含强化(伪协议、结合上传、结合XSS等)
- SSTI模板注入分析(flask等框架介绍)
|
代码审计 |
- python安全编程与代码审计
- PHP安全编程与代码审计
- Java、JSP安全编程与代码审计
- 代码审计工具和真题分析
|
实操练习 |
典型题目实操练习和指导 |
5 |
逆向工程 |
- 逆向工程入门
- 汇编语言基础和关键语句详解
- PE格式介绍和X86/X64平台原理
- 静态分析和动态调试工具介绍
- 代码和数据结构分析
- 逆向题目技术点分析和题型介绍
- Android基础和逆向题型
- 逆向题目实操和技能强化
- 【PWN入门和题型概述】(酌情)
|
6 |
CTF模拟训练 |
个人夺旗战和AWD攻防混战(0.5天) |
CTF解题赛 |
(提供赛题和比赛平台,1.5天) |