首页 > 其他分享 >如何成为一名合格的CTFer(非常详细)零基础入门到精通,收藏这一篇就够了

如何成为一名合格的CTFer(非常详细)零基础入门到精通,收藏这一篇就够了

时间:2024-05-29 11:33:05浏览次数:30  
标签:Web 入门 初学者 就够 学习 CTF CTFer 比赛

一、成为一名CTFer,需要了解哪些领域和基础知识?

**
就目前来说,想成为一名水平还不错的CTF二,需要了解的基础知识还是挺多的,主要如下:
**

0.基础知识
  • a.编程语言:Python 、C/C++ 、JavaScript、Java

  • b.操作系统原理:Linux 基础、Windows 系统结构

  • c.网络基础:TCP/IP 协议、HTTP/HTTPS

  • d.加密算法:对称加密、非对称加密、散列函数

1. 逆向工程 (Reverse Engineering)
  • a. 学习汇编语言与C/C++

  • b. 使用工具如IDA Pro, Ghidra或Radare2进行实操

  • c. 练习Crackmes

  • d. 参考《逆向工程核心原理》

2. 网络安全 (Networking)
  • a. 掌握TCP/IP基础知识

  • b. 学习Wireshark和nmap使用

  • c. 参与CTF中的网络挑战题目练习

  • d. 阅读图灵图书《网络是怎样连接的》

3. 密码学 (Cryptography)
  • a. 学习基础数学知识,特别是代数和数论

  • b. 掌握常见加密算法及原理,如AES, RSA, ECC

  • c. 实践CTF密码题

  • d. 阅读《应用密码学》

4. Web安全
  • a. 熟悉HTTP协议和Web应用结构

  • b. 学习SQL注入、XSS、CSRF等常见Web攻击技术

  • c. 参加Web安全相关的CTF练习

  • d. 阅读《白帽子讲Web安全》

5. 二进制漏洞 (Pwnable)
  • a. 学习C/C++和内存管理

  • b. 掌握栈溢出、堆溢出等漏洞利用技术

  • c. 使用调试器和漏洞挖掘工具练习,例如GDB, Pwndbg

  • d. 参考《Pwn学习路线》及《Hacking: The Art of Exploitation》

6. Misc(杂项)
  • a. 学习各种杂项知识,比如隐写术、数据恢复

  • b. 练习各类CTF赛事中的Misc题目

  • c. 探索与实践,例如利用Python编写解题脚本

  • d. 参考相关在线资料和书籍,不断积累经验

二、新人如何快速入门?

针对于新人,快速入门的方式如下:

使用CTF赛题复现平台
  • OverTheWire (OTW):从简单到困难,多个系列,非常适合初学者

  • CTFHub:提供了各类比赛历年真题和体系化的技能树,适合初学者练习

  • BUUCTF:国内较早使用动态靶机的CTF复现平台,提供平台开源环境和较全的比赛Writeup

多做特定类型入门级赛题
  • Web 类型:涉及常见的Web漏洞,如注入、XSS、文件包含、代码审计、上传等漏洞。DVWA值得推荐。

  • 逆向工程:Pwnable网站上有适合初学者的逆向题目。

  • 密码学 :初学者可以从简单的凯撒密码、替换密码开始

  • 杂项 :涉及流量分析、电子取证、数据分析等,适合拓宽知识面

多看学习资源
  • 实验吧:“角斗场”中汇集了多种类型的题目,适合不同水平的参赛者

  • 安全客:提供CTF相关的教程和文章,适合初学者学习和了解CTF的各种知识点。

  • FreeBuf:提供大量的安全资讯和技术文章,适合初学者了解行业动态

  • 《从零到一 CTFer成长之路》:由NU1L战队成员编写,内容涵盖了CTF的常考领域

  • i春秋平台提供的网络安全零基础学习路线,适合初学者按部就班地学习

  • 先知社区、看雪论坛等,可以帮助你了解最新的CTF赛事信息和学习资源

  • 开源图书 CTF竞赛入门指南(CTF All In One)

**给新手的三个靠谱建议:
**

1、了解CTF赛题分类,按题型模块化学习并收集相关工具。可以先按模块去看WP学习解题思路和方法,然后再去刷题巩固。

2、找一个氛围好的CTF团队,一起组队参加CTF比赛,交流学习分享思路。

3、实力不足的时候适当参加小型比赛,拿奖增加信心。能力足够的时候,直接冲大型比赛,奖金丰厚

三、还有****哪些方式可以快速帮助提升实战能力,达到合格标准

多参加CTF比赛
  • 实战经验最直接的来源就是参加CTF比赛,不同类型的比赛(解题模式、攻防模式、混合模式)会锻炼不同的技能,尽量多参加各种类型的比赛。
复现CTF题目
  • 在CTF比赛结束后,通过复现比赛题目来深入理解其中的知识点和技术细节。许多平台如CTFHub、BUUCTF等提供比赛的复现环境和WriteUp。
阅读优秀WriteUp
  • 阅读其他参赛者或团队的解题报告(WriteUp),了解不同的解题思路和技巧
动手搭建个人实验室
  • 搭建自己的实验环境,如使用Docker、VirtualBox等虚拟化技术,模拟不同的漏洞环境进行练习,比如使用VulnHub
深入选择某个特定领域
  • 选择CTF中的一个或几个特定领域(如Web、Pwn、Crypto等),深入研究,成为该领域的专家
加入CTF战队
  • 加入或组建CTF团队,与队友一起讨论、解决问题,可以学习到团队合作和分工协作的技巧

04 结语

最后想对大家说的是:

在CTF比赛的征途上,每一行代码都是解谜的钥匙,每一道题目都是技艺的试炼。持续学习是进攻的武器,实战经验是防守的盾牌,唯有不断进步,才能在找到自我胜利的平衡点。


为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述
在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

标签:Web,入门,初学者,就够,学习,CTF,CTFer,比赛
From: https://blog.csdn.net/jennycisp/article/details/139290300

相关文章

  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-49-Route类拦截修改请求-下篇
    1.简介 在日常工作和学习中,自动化测试的时候:在加载页面时,可能页面出现很多不是很重要或者不是我们所关注的,这个时候我们就可以选择不加载这些内容,以提高页面加载速度,节省资源。例如:可能页面上图片比较多,而我们又不关心图片内容。那么,在加载页面时,可以选择不加载图片,以提高页面加......
  • PowerMock入门:Java单元测试的终极武器
    在软件开发过程中,单元测试是确保代码质量的重要环节。它帮助开发者验证代码的各个部分是否按照预期工作,从而提高软件的稳定性和可维护性。然而,传统的单元测试工具,如JUnit和Mockito,虽然功能强大,但在某些场景下却显得力不从心。例如,它们在模拟静态方法、私有方法、构造函数以......
  • 《python编程从入门到实践》day41
    #昨日知识点回顾    用户注销、注册,限制访问,新主题关联到当前用户#今日知识点学习第20章设置应用程序的样式并部署20.1设置项目“学习笔记”的样式    20.1.1应用程序django-bootstrap4#settings.py---snip---INSTALLED_APPS=[#我的应......
  • 《python编程从入门到实践》day40
    #昨日知识点回顾    编辑条目及创建用户账户    暂没能解决bug:Theviewlearning_logs.views.edit_entrydidn'treturnanHttpResponseobject.ItreturnedNoneinstead.#今日知识点学习    19.2.5注销        提供让用......
  • 《python编程从入门到实践》day39加更
    #昨日知识点回顾    添加主题、条目#今日知识点学习    19.1.3编辑条目        1.URL模式edit——entry#learning_logs/urls.py---snip---#用于编辑条目的页面path('edit_entry/<int:entry_id>/',views.edit_entry,na......
  • 十分钟快速上手!——github纯小白入门使用介绍
    github简介:GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub拥有1亿以上的开发人员,400万以上组织机构和3.3亿以上资料库。GitHub可以托管各种git库,并提供一个web界面,但它与外国的SourceForge、GoogleCode或中国的codi......
  • 想要初步了解指针?看这篇就够啦!
    初级指针    一:指针的解释        什么是指针?本质上指针是内存地址,平时说的指针是指针变量,用来存放地址,指针变量里面存放的是地址而通过这个地址,就可以找到一个内存单元            上示例,定义了int类型的a变量,声明了一个整型......
  • Vue从入门到实战Day12~14 - Vue3大事件管理系统
    一、用到的知识Vue3compositionAPIPinia/Pinia持久化处理ElementPlus(表单校验,表格处理,组件封装)pnpm包管理升级Eslint+prettier更规范的配置husky(Githooks工具):代码提交之前,进行校验请求模块设计VueRouter4路由设计AI大模型开发一整个项目模块(掌握最新的开发方式)·......
  • 【SQL学习进阶】从入门到高级应用(一)
    文章目录熟悉测试数据初始化测试数据开始练习吧......
  • SEO初学指南之关键词研究(1) - 入门
    Hi,我是听风。第一篇给大家科普了什么是SEO以及搜索引擎的原理,这篇文章我们正式进入关键词研究的章节。本片文章将学习什么是关键词以及如何挑选符合预期的关键词。一、什么是SEO关键词简单来说就是用户在搜索引擎中输入的单词和短语或者是句子,以方便他们查询内容来解决问题。......