作者丨黑蛋
二进制是个庞大的方向,对应着许许多多方向的岗位,除了之前说过的逆向岗位,漏洞岗位,病毒岗位,还有专门打CTF的岗位,CTF是网络安全领域的一种比赛。普遍来讲,大学生学习网络安全都会参加CTF相关比赛,而有相应含金量证书,也是对找工作很有帮助的。首先我们来看一看CTF是什么:
CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。
而CTF竞赛方式分为俩种,一种是解题模式,主办方给出各种方向的题目,交由参赛选手进行寻找Flag,比较常规的就是一个界面,输入正确的Flag就可以通过,然后选手分别施展手段,在主办方给出网站啊,服务器啊,软件,文件等各种乱七八糟的内容中寻找Flag;而另一种就是攻防模式,又叫AWD,每队管理一个或多个服务器,然后相互攻击和防守,挖掘漏洞并攻击对手来获得分数,是比较激烈的一种比赛模式。最后根据获取的分数进行排名。下面来简单看一下CTF中解题模式中的各个方向侧重点:
1.CHOICE:选择题包含关于信息安全的各类知识点,难度系数偏低,适合刚接触信息安全的人士来全面的了解安全行业的情况
2.BASIC: 主要考察基础的计算机与网络安全知识,涉及信息发掘、搜索、嗅探、无线安全、正则表达式、SQL、脚本语言、汇编、C语言以及简单的破解、溢出等知识。旨在普及信息安全知识,引领信息安全爱好者入门
3.WEB: 考察脚本注入、欺骗和跨站等脚本攻击技术
4.REVERSE: 考察逆向破解的相关技术,要求有较高的汇编语言读写能力,以及对操作系统原理的认识
5.PWN: 考察软件漏洞挖掘、分析及利用技术,探索二进制代码背后的秘密,要求对漏洞有一定理解,掌握操作系统原理的相关知识(自我感觉最有难度的)
6.MOBILE: 考察移动终端安全相关知识
7.MISC: 即杂项,考察各种计算机系统与网络安全知识,涉及隐写术、流量分析、内核安全等信息安全的各个领域。
8.PPC:即编程类题目,题目涉及到编程算法
9.CRYPTO:即密码学,题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术。
当然并不是每次比赛主办方都会给出各种方向的题目让大家做,比较主流的事PWN,MISC,REVERSE。这里REVERSE和PWN属于二进制方向,也是我们方向找工作,会在CTF中负责的模块,要么负责出题,要么负责打比赛,REVERSE就是逆向,它比较杂乱,不仅仅有Windows平台上的题目,还会给安卓平台上的题目,还有各种语言写成的文件,Java、go、python、C、C++等,然后又会有各种壳,VM,反调试手段,各种加密算法的考验,REVERSE一直以来都是CTF比赛中难度最大的一个方向。而PWN大部分是考验Linux平台,属于漏洞相关的知识,一般来讲CTF相关的安服岗位,REVERSE和PWN并不分家。接下来我们找一找CTF相关的岗位:
像这个岗位就是负责CTF比赛中的出题审核环节,然后完善Writeup,Writeup就是每次比赛完,官方亦或者各种做出来题目的参赛选手给出的解题思路,当然随时组队参赛也是默认工作范畴。
这个要求比较多,和CTF相关,设计CTF,AWD的题目设计,以及对学员进行培训等。
而CTF的基础知识就很杂了,不单单属于二进制范畴,但是REVERSE和PWN是属于二进制方向的,基础知识也都是差不多,而REVERSE涉及的平台更多,PWN主要是在Linux平台。