CTF入门指南
CTF全称“Capture the FLAG”,也称夺旗(flag)比赛,起源于1996年举办的DEFCON全球黑客大会,随着安全攻防技术的发展,CTF是网络安全技术人员之间进行的技术竞技,线上题目类型有二进制安全、Web安全、IOT安全、密码学和杂项等方向,线下有awd攻防赛等多种赛制模式
题目类型分析
- Web安全 Web安全的所有核心基础点,有挑战性,最常规,最全,学好会直线上升,目前国内大多数CTF比赛都以Web安全为主,偏重对技巧沉淀、快速搜索能力的挑战,发散思维,对底层只需要了解,门槛低。能够理解Web脚本语言、能够对漏洞点的积累将具巨大优势。
- 密码学 偏重对数学、算法的深入学习,需要了解主流的密码算法,如对称密码、公钥密码、流密码、哈希密码算法等
- Pwn 程序的逻辑分析,漏洞利用windows、linux、小型机等
- Misc 杂项,隐写,数据还原,脑洞、社会工程、与信息安全相关的大数据,所有与计算机安全挑战有关的都在其中隐写,图片、音频、视频数据解密分析还原,流量、大数据分析
- 逆向 逆向windows、linux类
- 编程 需要运用自己熟练的一门编程语言写脚本实现批量化运用并解题
学习方向分类
- A方向:PWN+Reverse+Crypto随机搭配,主要涉及内容为:IDA工具使用(fs插件)、逆向工程、密码学、缓冲区溢出等
- B方向:Web+Misc组合,主要涉及内容为:Web安全、网络安全、内网渗透、数据库安全等 前10的安全漏洞
入门因素
- 能够熟练使用计算机(现代社会说了白说)
- 足够的热情、好奇心(CTF说白就是一种黑客游戏形式、能有打游戏热情最好)
- 脑洞大开(天马行空的想象、推理解密、如黑客game)
- 体力耐力(有通宵熬夜上网的经历最好)
- 坚持学习的动力和总结笔记的能力
- 能了解CTF题目类型和自己喜欢或擅长的方向
如何入门学
- 补基础知识,可以以信息安全专业课程为参考(如:linux基础、计算机组成原理、操作系统原理、网络协议分析、编程语言基础、算法基础等)
- 从基础题突破 一般都是web安全、杂项、密码学等题目分值较低、上手较快
- 选择一场已经存在writeup的比赛并参加,以练促赛
- 勤于总结和作笔记,尤其针对多次做过的题目类型,总结技巧可以四两拨千斤
- 将知识体系系统化,有计划的学习针对性知识点、多看相关网站、技术文档、教程、笔记(这里就是一个分享学习路线、技巧的地方😀)
推荐书籍
A方向:
- 《RE for Beginners》
- 《IDA Pro权威指南》
- 《揭秘家庭路由器0day漏洞挖掘技术》
- 《自己动手写操作系统》
- 《黑客攻防技术宝典》
B方向:
- 《Web应用安全权威指南》
- 《Web前端黑客技术揭秘》
- 《黑客秘籍——渗透测试实用指南》
- 《黑客攻防技术宝典 web实战篇》》”)
- 《代码审计:企业级web代码安全架构》
推荐练习平台:
- idf实验室:题目非常基础,每题只有一个知识点
- i春秋:国内,有线下决赛题目复现
- we Chall:非常入门的国外ctf题库,很多国内都是从这里刷题成长起来的,有各种类型赛题挑战
- pwn类游乐场:不到100题
- xss挑战:B方向 国外的xss测试
- sql注入挑战:B方向 国外sql注入挑战网站,10关,过关的形式 不同的注入,循序渐近地练习
- Bugku:国内 基础为主
工具箱下载地址:
https://github.com/truongkma/ctf-tools
https://github.com/Plkachu/v0lt
https://github.com/zardus/ctf-tools
https://github.com/TUCTF/Tools
CTF比赛地址推荐
https://ctftime.org/ 国际比赛,有很多基础的
http://www.xctf.org.cn/ 国内比赛,比较难
最后的最后
很多人会问,这文章资源全吗?那当然不全。但句句都是前辈们总结的精华和干货,又会差到哪里去呢?这么长的文章能会看到这个位置并收藏的,你已经离CTF近了一大步,剩下的就靠时间去证明了吧!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 bb的博客!