腾讯三面被问到有没有参加过CTF?我反手就是一套军体拳打得面试官哑口无言!

目录

前言:

正文:

什么是CTF?

什么是PWN?

为什么要学CTF?

CTF竞赛模式:

CTF各大题型简介:

学之前的思考:分析赛题情况

常规做法

CTF比赛需要的知识储备

CTF比赛的神器:

恶补基础知识&信息安全专业知识推荐图书:


前言:

这是一场紧张的比赛,现场激情解说:

“SP的战队率先发起攻击,可惜被K&K战队以三行代码轻松拦截!”

“哇哦,SP战队依旧紧追猛打,在几秒之内就找到了对方漏洞所在,极速完胜对手!”

“天哪,SP战队再次找到K&K服务器防御漏洞!”

电视剧为了渲染效果,喜欢把CTF搞得跟电子竞技比赛一样,如果你真以为CTF比赛就是电视剧中“现男友”展现的这样:

图片

还有这样:

图片

那就大错特错了!CTF比赛并不是一个电竞项目,真实的CTF是这样的:

图片

(图片来源于XNUCA比赛现场图)

真正的CTF赛事与一般的电竞赛事相比较具有更高的专业性和技术性,CTF赛事本身具有一定的门槛性。

CTF,它最初的源头是全球黑客大会。这也就是说,参加比赛的选手,不是职业电竞选手,而是真正的职业竞技黑客,他们比拼的是各自作为黑客的技术。

如果说电竞选手是在规定好的框架内比拼技术,而黑客却是能够突破程序限制,自由攻占服务器的游戏制定者。

 

正文:

什么是CTF?

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。

图片

CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,CTF已经成为全球范围网络安全圈流行的竞赛形式。而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。


什么是PWN?

PWN在黑客俚语中代表着攻破,获取权限,发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——的一声,被“黑”的电脑或手机就被你操纵了。“PWN”自“own”这个字引申出来,这个词的含意在于,玩家在整个游戏对战中处在胜利的优势,或是说明竞争对手处在完全惨败的情形下。有一个非常著名的国际赛事叫做Pwn2Own。

图片

在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有整数溢出、栈溢出、堆溢出等。主要考查参赛选手对漏洞的利用能力。所需基础:大学计算机基础、c语言、汇编语言、操作系统等。

CTF中的PWN题型通常会直接给定一个已经编译好的二进制程序(Windows下的EXE或者Linux下的ELF文件等),然后参赛选手通过对二进制程序进行逆向分析和调试来找到利用漏洞,并编写利用代码,通过远程代码执行来达到溢出攻击的效果,最终拿到目标机器的shell夺取Flag。

 

为什么要学CTF?

1.刺激!成就感爆棚

“惊退万人争战气”“衔得锦标第一归”!当你夺得“一血”拿下比分,完美突破对手的防线,成功抵御“敌人”的进攻,这种来自竞技的魅力让人热血沸腾。如果想感受竞技比赛的刺激、体会技能比拼的成就感和趣味性,CTF就是一个很好的选择。

2.合理合法的练习环境

随着《网络安全法》的公布,实网安领域刚入门的小白越来越难找到真实、合法的环境来训练自己的技能。CTF的出现,正好弥补了这个空白,为大家提供了一个合理又合法的练习环境。

3.拓展安全知识面

CTF的题目一般由多个知识点相互糅合,相对来说目标性比较强。CTF对网安人员的意义还在于拓展了从业者安全知识面,以及获得通过实战式应用所学到的安全知识。工作中遇到的有些问题可以用 CTF中涉及的知识解决。

4.奖金丰厚

CTF赛事的奖金很可观。打CTF比赛不仅能挣钱,还能充分展示自己的技术水平,树立个人在网安业界的影响力。

图片

国内部分CTF奖金设置(数据来源于网络)

5.名企招聘看重的经历

目前,相关企业招聘普遍看重CTF大赛获奖经历,安全名企大厂也经常会通过组织CTF竞赛发现人才,收揽人才

图片

图片

图片

下定决心想要学习CTF,那么要怎么开始呢?

 

CTF竞赛模式:


(1)解题模式(Jeopardy)在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。


(2)攻防模式(Attack-Defense)在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。


(3)混合模式(Mix)结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。

 

CTF各大题型简介:


MISC(安全杂项):全称Miscellaneous。题目涉及流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广。我们平时看到的社工类题目;给你一个流量包让你分析的题目;取证分析题目,都属于这类题目。主要考查参赛选手的各种基础综合知识,考察范围比较广。

PPC(编程类):全称Professionally Program Coder。题目涉及到程序编写、编程算法实现。算法的逆向编写,批量处理等,有时候用编程去处理问题,会方便的多。当然PPC相比ACM来说,还是较为容易的。至于编程语言嘛,推荐使用Python来尝试。这部分主要考察选手的快速编程能力。

CRYPTO(密码学):全称Cryptography。题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术。实验吧“角斗场”中,这样的题目汇集的最多。这部分主要考查参赛选手密码学相关知识点。

REVERSE(逆向):全称reverse。题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。需要掌握汇编,堆栈、寄存器方面的知识。有好的逻辑思维能力。主要考查参赛选手的逆向分析能力。此类题目也是线下比赛的考察重点。

STEGA(隐写):全称Steganography。隐写术是我开始接触CTF觉得比较神奇的一类,知道这个东西的时候感觉好神奇啊,黑客们真是聪明。题目的Flag会隐藏到图片、音频、视频等各类数据载体中供参赛选手获取。载体就是图片、音频、视频等,可能是修改了这些载体来隐藏flag,也可能将flag隐藏在这些载体的二进制空白位置。有时候需要你侦探精神足够的强,才能发现。此类题目主要考查参赛选手的对各种隐写工具、隐写算法的熟悉程度。实验吧“角斗场”的隐写题目在我看来是比较全的,以上说到的都有涵盖。新手盆友们可以去了解下。

PWN(溢出):PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。在CTF比赛中,线上比赛会有,但是比例不会太重,进入线下比赛,逆向和溢出则是战队实力的关键。主要考察参数选手漏洞挖掘和利用能力。

WEB(web类):WEB应用在今天越来越广泛,也是CTF夺旗竞赛中的主要题型,题目涉及到常见的Web漏洞,诸如注入、XSS、文件包含、代码审计、上传等漏洞。这些题目都不是简单的注入、上传题目,至少会有一层的安全过滤,需要选手想办法绕过。且Web题目是国内比较多也是大家比较喜欢的题目。因为大多数人开始安全都是从web日站开始的。

 

学之前的思考:分析赛题情况

PWN、Reserve偏重对汇编、逆向的理解

Crypto偏重对数学、算法的深入学习

Web编程对技巧沉淀、快速搜索能力的挑战

Misc则更为复杂,所有与计算机安全挑战有关的都算在其中

 

常规做法

A方向:PWN+Reserver+Crypto随机搭配

B方向:Web+Misc组合

其实Misc所有人都可以做

 

CTF比赛需要的知识储备

前锋攻击(漏洞利用脚本 python)

  • 漏洞利用,成功利用漏洞并突破安全防御机制
  1. 漏洞利用后果:控制劫持流、敏感信息泄露、可用性破坏
  2. 夺取Flag:控制流劫持并执行Shellcode,获得shell(拿到控制台)或读flag到socket
  3. 破坏服务可用性:服务漏洞利用造成服务状态异常 安全防御机制:NX(DEP)、PIE 、ASLP、Stack Canary
  4. 漏洞利用技术:ROP、结合地址泄露漏洞等,/brute forcing、SEH Exploit

掌握二进制代码【木马 shellcode powershell】
漏洞利用脚本编写,远程触发漏洞
python pwn tools
web的机制 php js html

中场(逆向分析,代码审计)

  • web漏洞挖掘能力
    代码审计(检查源码,文件包含错误,执行文件错误,文件上传错误,SQL注入的问题)
    调试环境
  • pwn漏洞挖掘
    逆向分析(el文件,读汇编,读伪代码,反着看c++,java,c)
    Linux系统知识

后卫(安全运维人员)

  • 服务器安全运维人员
    shell 脚本编写能力
    python脚本编写能力
    Linux运维的知识(保证服务器安全,防止木马,分析流量,备份数据库,备份服务器
  • 流量分析能力
    协议分析

CTF比赛的神器:


前锋

  • kali系统

  • nmap 端口扫描
  • searchsploit 漏洞查询
  • metaspolit 攻击框架 use exploit/windows/smb/ms17_010_eternalblue
  • sqlmap sql注入的批量扫描
  • hydra ssh暴力破解
  • burpsuite sql注入的批量扫描
  • python的pwntools (前锋人员使用,漏洞利用) kail装pip install pwntools

中场
逆向分析

  • ida pro ----kpathch插件
  • gdb 以及插件 gef peda-gdb gdbserver (apt-get install gdbserver)
  • notepad++
  • ue winhex

流量分析

  • wireshark
  • pcap python lib
  • 秘密武器

后卫
安全运维人员

  • 文件监控武器

  • 权限检索武器

  • 木马查杀武器

  • 批量攻击框架

  • 木马

  • 菜刀(管理webshell)

图片

恶补基础知识&信息安全专业知识
推荐图书:

A方向:

RE for Beginners(逆向工程入门)

IDA Pro权威指南

揭秘家庭路由器0day漏洞挖掘技术

自己动手写操作系统

黑客攻防宝典:系统实战篇

B方向:

Web应用安全权威指南

Web前端黑客技术揭秘

黑客秘籍——渗透测试使用指南

黑客攻防宝典WEB实战篇

代码审计:企业级Web代码安全架构

图片

最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

可以的话请给我一个三连支持一下我~~

【资料获取】

 

  • 17
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论
推荐,网络安全中的漏洞挖掘实践合集,仅供大家学习参阅,包含内容如下: 针对现实应用的文本对抗攻击研究 安全众测下的漏洞发展新趋势 安卓应用漏洞挖掘 从0到1-发现与拓展攻击面 对基于Git的版本控制服务的通用攻击面的探索 对民用飞行控制系统固件的逆向与漏洞分析 卫星通信的安全缺陷 基于全流量的智慧漏洞挖掘 基于运行时类型嗅探技术提高模糊测试的漏洞发掘效果 漏洞挖掘进化论-推开xray之门 逆向在漏洞挖掘中的应用 苹果攻击面和漏洞挖掘自动化研究 如何从高赏金项目中拿到高危 如何去挖掘物联网环境中的高级恶意软件威胁 如何在3个月发现 12 个内核信息泄露漏洞 沙箱内持久化.行之有效的沙箱攻击新思路 深度解析Weblogic_XMLDecoder反序列化 使用数据流敏感模糊测试发现漏洞 锁不住的安全 谈谈工业协议转换器的一些问题 逃逸IE浏览器沙箱-在野0Day漏洞利用复现 为何自动化漏洞挖掘如此困难 现代可抵赖后门研究 一扇虚掩的大门-现代智能系统的重要攻击面 源代码漏洞挖掘 远程root现代安卓设备 在现代Windows内核中发现存在20年的漏洞 针对智能设备漏洞挖掘的一些新方法 AI用于软件漏洞挖掘 AndroidWebView安全攻防指南2020 Java反序列化漏洞自动挖掘方法 macOS从运行库劫持到内核提权 MTK安全启动大剖析.CIS大会分论 MyBatis框架下SQL注入解决方案 Qemu-kvm和ESXi虚拟机逃逸实例分享 WEB常见漏洞与挖掘技巧研究 Web漏洞挖掘速成特训营 混合式漏洞挖掘研究进展
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是黑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值