CTF是什么?
什么是CTF?
CTF(Capture The Flag,夺旗赛)起源于 1996 年 DEFCON 全球黑客大会,是网络安全爱好者之间的竞技游戏。CTF涉及众多领域,主要分为线上解题模、线下攻防模、其他。解题模式的题目类型主要包含 Web 网络攻防 、 RE 逆向工程 、 Pwn 二进制漏洞利用 、 Crypto 密码攻击 、 Mobile 移动安全 以及 Misc 安全杂项 这六个类别。而在攻防模式下,所有参赛队伍拥有相同的初始系统环境(包含若干服务,可能位于不同的机器上),常称为 gamebox,参赛队伍挖掘网络服务漏洞并攻击对手服务获取 flag 来得分,修补自身服务漏洞进行防御从而防止扣分。更多信息详见ctf-wiki 。
- Web - 网络攻防:Web 安全中常见的漏洞,如 SQL 注入、XSS、CSRF、文件包含、文件上传、代码审计、PHP 弱类型等
- 基础知识:网络通信、网络协议、编程语言PHP、MYSQL等
- Reverse Engineering - 逆向工程:软件保护、反编译、反调试、加壳脱壳技术术
- 基础知识:汇编语言、加密与解密、常见反编译工具的使用
- Pwn - 二进制漏洞利用:二进制漏洞的发掘和利用
- Crypto - 密码攻击:掌握古典密码学和现代密码学,分析密码算法和协议,计算密钥和进行加解密操作。
- Mobile - 移动安全:安卓逆向
- Misc - 安全杂项:主要包括信息搜集、编码分析、取证分析、隐写分析等
CTF有什么用?
- 竞赛获奖,对评奖学金和保研都有帮助
- 找工作的帮手,附上一张全景图
- 团队协作的经历
如何规划CTF学习?
0x1 学习编程语言,具备相关的编程能力,从开发的角度思考问题,同时提升开发效率
- 在线编程学习网站:菜鸟教程runoob、W3C
- 相关书籍
- 《Python核心编程(第3版)》
- 《PHP和MySQL Web开发(原书第5版)》
- 《Head First HTML与CSS》
- 《JavaScript高级程序设计》
- 《Java入门123:一个老鸟的Java学习心得》
0x2 掌握基础知识,理解网络、操作系统等基本概念,了解常见的漏洞与分析利用方法。入门时不要图快,了解基础知识(最少必要知识)之后就要进行实践练习
- 从相关课程、训练平台进行入门学习,了解知识薄弱点,增强实践能力
- 在线学习平台:i春秋、蓝桥云课(原实验吧)等
- 训练平台:wargames、XCTF攻防世界等
- 其他学习渠道:网易云课堂、B站、极客学院
- 阅读相关书籍
- 网络知识:《图解HTTP协议》、《图解TCP/IP 第5版》、《HTTP权威指南》
- linux:《鸟哥的Linux私房菜 基础学习篇 第四版》
- Web安全:《白帽子讲Web安全》、《代码审计:企业级Web代码安全架构》、《SQL注入攻击与防御(第2版)》 、《Web前端黑客技术揭秘》
- 逆向:《加密与解密(第4版)》
- 0x3 掌握相关工具的使用,提高效率
0x4 学习新兴技术,参与相关比赛,能力进阶更多的需要自己去探索
- 在资讯平台上学习大佬的操作,了解其中的思路和技术
- 参与比赛,提高自己综合实践能力,不断复盘,不断积累
- 整理学习经验和技术细节,写一些技术博客进行分享;一些平台都有付费文章奖励计划,还可以同时获取一些物质奖励
- 0x5 独立进行漏洞挖掘工作,向SRC或漏洞库上报漏洞信息
- 撰写相关安全分析工具等
其他参考列表
编辑于 2021-11-23 19:52