对CTF很感兴趣,应该如何入手?

经常被问到类似的问题:CTF究竟该如何入门。其实这个问题问我并不合适,我也不是一个老赛棍,我和CTF的交集最多的大概是:很多CTF题目会直接或间接使用到我曾提到过的一些小技巧,我们称之为Tricks。

我觉得,入门CTF大概需要掌握下面这些能力:

扎实的基础知识

快速的学习能力

一定程度的脑洞

必不可少的实战经验

扎实的基础知识
这一点肯定很好理解,想在任何一个领域取得成功,都必须要掌握那个领域的知识。

这里所说的基础知识主要有哪些呢?

计算机网络

操作系统

编译原理

数据结构与算法

一门以上的编程语言

…等等其他

上面这些内容其实就是大学计算机专业的核心课程,正常来说,一个计算机相关专业的学生,应该都学过这些知识。

当然,据我的观察,包括我自己在内,大多数大学生都不会在课堂上认认真真地学完这些课程,另外很多学校课堂的内容其实也略显过时。

不过,你心里必须对这些个基础课程内容有个谱,至少最简单的一些知识你得了解吧。比如TCP和HTTP协议、Linux系统使用和内部常见的原理、词法分析和语法分析、树的遍历方式、排序算法、加密算法等等,这里就不再举例了。

这些知识其实和CTF没有直接关系,计算机专业的东西如果想学好,这些都是必不可少的。

快速的学习能力
这一点就慢慢开始和CTF有关了,因为打CTF其实是个极其需要学习能力的工作。

为什么呢?因为现在CTF题目的同质化程度越来越高,赛棍们打比赛经常会发现,诶,好像这个题和以前做的某个题目差不多,就是改了下什么什么。

这也不能全怪出题人,毕竟这个世界上的方向就那么多,就跟推理小说中的诡计一样,用完了就是用完了。

当然,知识其实是无限的,只是发现新方向的难度越来越大了。如果你经常参与一些国际大型赛事,比如说长亭科技举办的Real World CTF,你会发现你还是总能发现一些新的套路。

其实很多出题人会通过找一些新的攻击面和一些很少被人接触过的知识来出题,这样的题目质量的确会高一些。

那么,你作为一个进阶级赛棍,你参与这种国际比赛遇到以前没接触过的知识应该怎么办?

大部分情况下你都需要在打比赛的那短短数小时之内快速入门这个新的领域,不管是一门新的编程语言,还是一个新的协议。这就极其考验参赛队员的学习能力了。

学习能力有一部分是天赋,但是绝大多数情况下还是后期可以锻炼的。比如,如果你具有以下优点,你的学习能力将会很强:

快速的英语阅读能力

熟练掌握搜索引擎使用技巧,能快速找到你想要的资料

很强的源码理解能力

快速的英语阅读能力,会对你学习一个新知识起到至关重要的作用,毕竟世界上绝大多数编程语言、工具、操作系统、RFC都是英语编写的,更别说CTF里面可能出现的小众方向。网络上的中文资料普遍存在过时、片面等问题,无法系统化地让你理解你需要的知识本质。

熟练的搜索引擎使用技巧,也是让你快速入门一个新东西的必备技巧。你在使用一个新东西的时候,免不了遇到很多问题,比如编译出错、运行不起来等,你往往会在这些问题上浪费大量时间,而时间是CTF比赛中最重要的资源。其实大部分的问题在网上都能直接找到答案,只不过你需要主动去找到他们,而不是等他们来找你。

很强的源码理解能力,让你能更深入地理解问题的本质。虽然说大部分问题可以直接在搜索引擎获得答案,但如果一个CTF的考点就是一个难题,那么直接搜出答案的概率就很小了。这时候,如果你能多去翻翻文档和源码,你会发现答案并没有那么复杂。

上面三个是我觉得组成CTF学习能力的三大优势。

一定程度的脑洞
脑洞这个东西在CTF比赛中也是传统素质之一。有时候我们评判一个CTF题目是否优秀,就看这个题目的脑洞是否恰到好处,最优秀的题目和最优秀的悬疑小说一样,需要一个这样的答案:

既在意料之外,又在情理之中

意料之外在于,题目的考点是大部分人没想到的;情理之中在于,现实生活中确实可能出现这样的问题。

这样的题目能让参赛者学到知识,又能体现出出题人的水平。

所以,为了做出这样的题目,参赛者也需要具有一定程度的脑洞,你需要能够想到其他人想不到的一些点,这些点也许连出题人也没想到,用这些出其不意的方式作出的题目,我们一般称之为“非预期解”。

必不可少的实战经验
上面说的三点,其实大多数情况下都是用来应付一些高级别的比赛的,在大一大二的时候,你能遇到更多的其实是一些入门级比赛。

很多入门级比赛有一个特点,就是题目的相似性极大。当然这不能说明这个比赛的出题人水平就很烂,有时候出题人在出题的时候就会考虑到这个比赛的受众,如果面向的是大一新生,不可能出几道国际比赛水准的题目吧。

所以,对于初入门的新人来说,做题的经验极为重要,这和高考一样,只要你能刷遍天下所有的题目,虽不说一定考得上清华北大,至少考个985211没任何问题了吧。

那么,有哪些现成的比赛题目可以做来试试呢?

https://code-breaking.com 这是我们『代码审计知识星球』在2018年推出的一个比赛,所有的题目开放源代码,适合Web方向的学习者学习

https://www.wechall.net

https://hackme.inndy.tw

https://pwnhub.cn

https://adworld.xctf.org.cn

太多了,这里不再一一列举。

总结
除了上述的几个硬能力,想学习好CTF还可以有一些捷径,比如:

加入一个氛围较好的社群,有讨论才有进步

跟老司机一起打比赛,增进感(ji)情(qing)也增加技术

找到一个好的系统的学习资料

正好,今天,由国内老牌CTF战队FlappyPig撰写的新书《CTF特训营:技术详解、解题方法与竞赛技巧》上线京东预售了,据我所知这应该是国内第一本以CTF知识为主的图书。如果你想系统性地学习CTF相关知识,推荐阅读本书:
在这里插入图片描述

二.关于网络安全资源

网络安全是当今信息时代中非常重要的一环。无论是找工作还是感兴趣,都是未来职业选择中上上之选,为了保护自己的网络安全,学习网络安全知识是必不可少的。

如果你是准备学习网络安全或者正在学习,下面这些你应该能用得上:

①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

一、网络安全学习路线

网络安全(黑客)学习路线,形成网络安全领域所有的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、网络安全教程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。


三、网络安全CTF实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这里带来的是CTF&SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

四、网络安全面试题

最后,我们所有的作为都是为就业服务的,所以关键的临门一脚就是咱们的面试题内容,所以面试题板块是咱们不可或缺的部分,这里我给大家准备的就是我在面试期间准备的资料。

网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。

机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!

全套网络安全学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值