既然是入门的帖子,那我就先简单介绍一下CTF的一些基本的概念:
CTF的全名是capture the flag 夺旗锦标赛,一般来说分为解题模式,攻防模式和混合模式,其中解题模式就现在来说搞得比较多
所以就先着重介绍一下解题模式,解题模式这个主要是以解决网络安全技术问题挑战题目的分值和时间来进行排名,通常是用来在线
的选拔,其中题目大概有这么几个 web,密码学,pwn(综合渗透),misc(杂项),reverse(逆向),ppc(编程类)而攻防模式
的比赛一般就是每一个参赛队伍,在同一个网络中,进行相互攻击和防守,以发现对手服务器的漏洞,修补和防御己方服务器漏洞来
的分,一般比赛时间较长,而混合模式就是两者皆有。
那么CTF如何入门?如何组队?
CTF类型:
Web
密码学
Pwn 程序的逻辑分析,漏洞利用windows、linux、小型机等
Misc 杂项,隐写,数据还原,脑洞、社会工程、与信息安全相关的大数据
reverse 逆向Windows、Linux类
ppc 编程类的
国内外著名比赛
国外:DEFCON资格赛
国内:xctf联赛 0ctf上海国内外都有,很强
入门需要哪些基础:
1.编程语言基础(C、汇编、脚本语言)
2.数学基础(算法、密码学)
3.脑洞大开(天马行空的想象、推理解密)
4.体力耐力(通宵熬夜)
如何入门学
1.恶补基础知识
2.尝试从脑洞开始 如黑客game
3.从基础题出发 一般都是100,200,最高分在500,600 先把100分的学好,可从实践,高中的ctf学起,比较简单,只涉及1,2个点
4.学信息安全专业知识
5.锻炼体力耐力 周六日都有比赛
到底如何学?
1.分析赛题情况
2.分析自身能力 自己最适合哪个方向
3.选择更适合的入手
分析赛题
PWN、Reverse偏重对汇编、逆向的理解 对底层理解
Crypto偏重对数学、算法的深入学习 密码课要深入学
Web偏重对技巧沉淀、快速搜索能力的挑战 发散思维,对底层只需要了解,代码原理,关于漏洞点的积累
Misc则更复杂,所有与计算机安全挑战有关的都在其中 隐写,图片数据分析还原,流量,大数据,对游戏分析逆向
常规做法:
A方向:PWN+Reverse+Crypto随机搭配
B方向:Web+Misc组合
Misc所有人都可以做
入门知识:
都要学的内容:Windows基础、Linux基础、计算机组成原理、操作系统原理、网络协议分析
A方向:IDA工具使用(fs插件)、逆向工程、密码学、缓冲区溢出等
B方向:Web安全、网络安全、内网渗透、数据库安全等 前10的安全漏洞
推荐书:
A方向:
RE for Beginners
IDA Pro权威指南
揭秘家庭路由器0day漏洞挖掘技术
自己定操作系统
黑客攻防技术宝典:系统实战篇 有各种系统的逆向讲解
B方向:</