大学生如何学习CTF?

2022-04-01 12:23:58 浏览数 (2)

也是有好一段时间没有写文章了,主要是最近比较忙,很难抽出时间来写知乎了,以前长假基本都是日更

另外题主也可以看下我之前的文章,也是讲如何入门CTF,希望对你有帮助

  1. CTF如何学习?
  2. 打CTF有什么用

CTF本身有几个常见的领域 MISC WEB 逆向 密码学 PWN

首先,你本身是想做一个单方向的选手还是一个五边形战士呢?我身边大部分是选择走web路线(可能因为身边做web的比较多),这边就先以web安全为基础,给你一个学习路线,建议。

首先,先把web安全的学习路线给你安利一下,也是我之前自己在看的流程

web安全知识学习(理论期)

web基础/渗透环境搭建/常用工具

1.web方面的基础知识,比如你去学习HTML等相关前端语言。另外端口也可以学习一下3306,3389等端口的利用。(具体可以参考漏洞银行学习路线内容)

2.渗透环境的搭建也是必不可少的,最快捷的方法就是装一个kalilinux的虚拟机,对于小白来说最好不过了,不需要配置过多的环境和工具,系统全部自带,对于web安全研究人员来说kali是一个不错的选择(网上教程很多,不再列举)

3.常用工具这边,比如注入工具学习sqlmap,以及burp,MSF,nmap,beef,AWVS,wk,等工具,来辅助完成渗透以及方便渗透人员。(工具需要配置环境,例如sqlmap需要python环境才能够使用,小白配置起来比较鸡肋,百度相关教程)

owasp top 10漏洞

  • 注入
  • 失效身份验证和会话管理
  • 敏感信息泄露
  • XML外部实体注入攻击(XXE)
  • 存取控制中断
  • 安全性错误配置
  • 跨站脚本攻击(XSS)
  • 不安全的反序列化
  • 使用具有已知漏洞的组件
  • 日志记录和监控不足

这些可以说是基础了,作为一名web安全研究人员不能不会的技术,在精通owasp top 10漏洞原理,挖掘,利用,修复方法后(建议每个漏洞都确保拥有实战能力,即能够在靶场上复现,吃透以后再进行下一步的学习)就可以尝试去实战一些中小型网站了。

漏洞挖掘(初期实战)

Google hacker

可能大部分同学还没有听说过,学过,或者只是粗略的了解了一下谷歌语法,认为它的功能一般,没有什么大用处,然后就放到一边去了,但其实不是,其实大部分情况下的漏洞还是得靠谷歌语法的。很多同学可能是看了一些SRC大佬的回答以及文章之类的,就直接带上电脑,在网上找一些大集团,大学,政府等平台去进行渗透测试,这种行为无疑是错误的 且不说你没有经验,一上来就搞这种大平台,对于一个新手来说,能有多大收获呢?(运气爆表当我没说)。那些文章和SRC大佬的水平和方法并不一定适用于你。对于新手,更多还是用谷歌语法去找漏洞,比如找逻辑漏洞(短信轰炸)就intitle:注册 inurl:http://edu.cn 这个语法如果看不懂建议回炉重造,这是最基本的,查找教育机构逻辑漏洞的一个简单谷歌语法,又或者你要挖注入,那就inurl:asp?id= 这样去挖洞的效率绝对比你在网上瞎找要好,谷歌语法可以帮助我们筛选网站,我们可以根据不同漏洞URL特征,网站内容,标题等,利用谷歌语法来查找相关网站去进行渗透测试,这个对于小白挖洞来说非常重要。

网站信采集

  • 其实挖不到漏洞,除了思路问题,技术问题,被大佬挖完等问题外,还有一点,信息采集不到位,有时信息收集可能微不足道,没有什么作用,但有时他却能决定本次渗透能否成功,所以一定要事先做好信息采集的工作,像whois,端口,目录,子域名,邮箱枚举等手段。
  • 那么比较不错的信息采集过程用到的工具有哪些?

以上是我推荐给答主的web安全学习路线,这边就来讲一下,打CTF有什么用处?

  • 很多同学想要去打CTF,为了什么?
  1. 想要靠比赛来赚取更多的学分
  2. 想要在比赛中提升个人技术水平
  3. 想要结识更多大佬,开拓眼界,就业有更多选择等

打CTF,如果是一个刚刚开始学习或者接触不久的小白来说,去一些比较有意思的比赛或者队伍当中,就算做不出几道题,队伍中没有什么存在感。但仍然可以学到很多之前没有接触过的操作,姿势,以及各种奇怪的技巧。

但有一点也请各位同学注意,目前CTF中的题目和环境,很多都和现实(实战)脱轨,所以说打CTF可以学到技术,但可能对实战的帮助不是很大.

  • 但还是可以锻炼自己的渗透思路,手法,锻炼自己的实战能力。至少在基本功方面,和其他人相比会有显著的提升。
  • 且目前来看,很多CTF都是有各大公司投资,以及很多安全企业的招聘上都会有“CTF获奖者优先”之类的字眼,至少对之后的就业是有帮助的。并且很多高校也是可以通过CTF比赛来赚取学分,对新生来说,打CTF还是有不少好处的
  • 但归根结底,CTF还是类似于黑客之间的,派对?拥有一定官方背景的比赛国内还不是很多,被各大公司接受承认的名次和奖项也比较少

不过,最终还是看题主自己了。只要感觉在比赛中学到了技术,感受到了快乐那就坚持下去。但思维不要过度的CTF化,这可能对你以后的实际项目有一定的影响。

我之前在学习过程中就有思考过,CTF到底是什么?

答案是:Web/逆向/Misc/密码学/Pwn基础知识 CTF式解题思路(技巧)

如何证明呢?我之前也有专门问过我的学生,是不是在实战中遇到过这样的问题

一道题目,明明知识点都会了,但还是做不出来? 答案肯定是 有

这就是解题思路的问题,也是为什么CTF会和实战脱轨,所以经验和思路在CTF就显得颇为重要了,只有将专业知识和思路融合在一起才能成为一名优秀的CTFer

最后一点,什么情况下不推荐打CTF?

  1. 过度沉浸于CTF,如解题技巧,出题模式,题目套路等等

这一点,首先是对你之后的实际渗透测试工作和项目会带来影响,毕竟你不可能打一辈子的CTF,而CTF和实战还是有区别,过度沉浸于CTF的模式当中会让你在实战中却无从下手

2.希望速成,短时间内成为优秀的CTFer

这种就是太浮躁了,很难坚持和认真学下去,如果是以这种目的和心态来学习的话我个人不太推荐,还是做点其他的比较好?

0 人点赞