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 学习编程语言,具备相关的编程能力,从开发的角度思考问题,同时提升开发效率

  • 在线编程学习网站:菜鸟教程runoobW3C
  • 相关书籍
    • 《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