首页 > 其他分享 >网络安全从零开始学习CTF——CTF基本概念

网络安全从零开始学习CTF——CTF基本概念

时间:2024-11-12 15:16:30浏览次数:3  
标签:网络安全 逆向 题目 赛制 CTF 从零开始 分数 密码学

这一系列把自己学习的CTF的过程详细写出来,方便大家学习时可以参考。

一、CTF简介

01」简介

中文一般译作夺旗赛(对大部分新手也可以叫签到赛),在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。

CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。

02」竞赛模式

解题模式:

在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。

题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。

攻防模式:

在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。

攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。

在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。

混合模式:

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

03」总结

一般大型比赛大都是i春秋承办的,以小组的形式比赛,分预选赛和总决赛。

预选赛

都是线上比赛,比赛形式几乎都是解题模式。进入官方提供的网站,登录账号密码后会到一个页面,题目按类别分类(后续会讲有什么类别),点击后提供题目链接、题目信息、题目提示和flag(答案)提交,提交后会得到分数。

其中,一血、二血、三血拿的分数比较高,后面答该题的队伍拿的分数就一样了,答题的队伍越少,分数就越多,然后按分数排名,确定进入决赛的队伍。

如:一道签到题,开始定的分为500,当有队伍提交正确的flag,那么分数就会下降,下降到470/450这样的,人数越多,分数下降幅度越大。

而一血二血三血获得分数会高于后续答题正确的。

总决赛

几乎都是线下赛,进行混合模式,因为攻防模式的题目容易出现易守难攻、比速度节题这种学习不到知识的问题,也因为这样,大部分的总决赛都是以逆向为主,很容易变成逆行大赛。

二、题目分类

题目一般为6大类:

Web(网络安全)

Web是CTF竞赛中主要的题型之一,题目涉及到许多常见的WEB漏洞,诸如XSS、文件包含、代码执行、上传漏洞、SQL注入。也有一些简单的关于网络基础知识的考察,例如返回包、TCP-IP、数据包内容和构造。可以说题目环境比较接近真实环境。

所需知识点:PHP、Python、SQL(以mysql为主)、TCP-IP、linux命令、html、javascript等。

MISC(安全杂项)

MISC是大型CTF竞赛的题目难度很大,是一个可以拉开分数的类型,而在小型竞赛和题库中却难度不大。题目涉及隐写术、流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广,主要考查参赛选手的各种基础综合知识。

所需知识点:熟悉使用众多隐写工具、流量审查工具、了解编码等。

Crypto(密码学)

主要包括古典密码学和现代密码学两部分内容,古典密码学趣味性强,种类繁多,现代密码学安全性高,对算法理解的要求较高。

所需知识点:矩阵、数论、古典密码学、算法等。

Reverse(逆向)

题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。主要考查参赛选手的逆向分析能力。

所需知识点:汇编语言、加密与解密、常见反编译工具。

PWN(二进制安全)

PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。主要考察参数选手对漏洞的利用能力。

所需知识点:C,OD+IDA,数据结构,操作系统。

Mobile(移动安全)

主要介绍了安卓逆向中的常用工具和主要题型,安卓逆向常常需要一定的安卓开发知识,iOS 逆向题目在 CTF 竞赛中较少出现,因此不作过多介绍。

区块链

近来多个CTF比赛均出现区块链题目,区块链应用越来越成为热门应用,在未来区块链会成为一个重点。因为没有接触过,这里不详细讲。

三、怎么入门

入门这一块是我们这些新手的一道大大的门槛,很多人都是不知道怎么入门。

个人入门步骤

01」确定方向

一般分为两个方向:

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

B 方向:Web+Misc 组合

Misc 所有人都可以做

入门知识:

都要学的内容:Windows 基础、Linux 基础、计算机组成原理、操作系统原理、网络协议分析

A 方向:IDA 工具使用(fs 插件)、逆向工程、密码学、缓冲区溢出等

B 方向:Web 安全、网络安全、内网渗透、数据库安全等前10的安全漏洞

02」多多刷题

刷题非常重要,很多人在其他ctf入门教程中都可以看到刷题是第一步,也是进阶的重要一步,所以刷题非常重要,可是刷题也是需要有技巧的。

03」以练促赛,以赛养练

选择一场已经存在Writeup的比赛或者参加一场最新的CTF比赛。

总结解题过程,最好能写一写博客之类的。

04」推荐平台

极力推荐bugku,其他的后面慢慢来,先把bugku做好,然后在做攻防世界,你就会跨入进阶的门槛了。

05」工具收集

不要先去下载别人推荐的工具,反正你是不会去学的,一定要在解题的过程中寻找,那样你回加深印象,也能直接总结一套经验出来。

四、编程

很多人会纠结到底要不要深入编程。不要太深入,差不多就可以了,对照文档就可以写出程序就差不多了且能看得懂就好了,因为每个语言都是学不完的,一直在更新,如果过分专注于一个语言,安全知识就挺容易漏下的。

或则是针对一些热门的编程进行深入,比如PHP、python、java之类的,其中PHP可以说是必学项目,如果可以的话,把这门语言学透,那么代码审计一点压力都没有。

上面都是个人想法,怎么选都要靠自己决定,要不要深入、深入哪一门都是问题,一定要考虑清楚再下手,别等下学了一半就改变方向,这是学习的大忌,因为你学其它的也会这样,除非是你发现这个不是很适合你的发展。

标签:网络安全,逆向,题目,赛制,CTF,从零开始,分数,密码学
From: https://blog.csdn.net/Hacker_Oldv/article/details/143645323

相关文章

  • 网络安全与CTF学习信息汇总
    http://www.sec-wiki.com/skill/安全技能(里面渗透逆向编程都有介绍)http://blog.knownsec.com/Knownsec_RD_Checklist/知道创宇研发技能表v3.0**********************************************************综合学习平台:http://edu.gooann.com/谷安网校http://www.jike......
  • 网络安全2024就业前景如何?找工作容易吗?
    众所周知,网络安全与我们息息相关,无论是企业还是个人都应该重视网络安全。而网络安全作为一个新兴行业,人才需求量远大于供给,因此在薪资福利上具有很大的优势,但对于初学者而言,很多人依然担心前景问题,那么网络安全就业前景如何?本文将为大家介绍一下。从目前市场情况来讲,网络......
  • [buuctf]/[极客大挑战 2019]BabySQL 1
    页面上提示输入会被严格过滤,这里我们就要留意一下,经常被过滤掉的几个词首先测试闭合方式。http://cec6e5ef-7407-453b-9993-609691edcfb4.node5.buuoj.cn:81/check.php?username=1'&password=1这里单引号出现报错,猜测闭合方式是单引号。下一步,进步确认闭合方式,正常步骤应......
  • RSA加解密实战(CTF)
    这个实战题目来源于我参加的某海外CTF比赛原题,由于这个题目相较于一般的RSA加密方式有些许差别,个人感觉比较有趣且不难懂,于是拿来分享。对于RSA加密的基本认识一、什么是RSA加密算法        RSA加密是一种非对称加密方式,使用2种密钥分别对数据进行加解密: ......
  • 一个简单的容器(CTF)
    这个是一个某海外CTF中的题目,给的提示比较明显,过程思路清晰,较于简单,容易理解。一、查看环境,制定大致思路首先创建实例后访问地址,发现是一个仿Linux终端的交互式shell环境,根据自己的做题经验,那我们的思路就大致是在Linux环境中查找类似于flag.txt的文件二、根据自己......
  • 网络安全协议系列(非常详细),零基础入门到精通,看这一篇就够了
    文章目录一、安全协议的引入1.TCP/IP协议族中普通协议的安全缺陷1.信息泄露2.信息篡改3.身份伪装4.行为否认2.网络安全需求二、网络安全协议的定义三、构建网络安全协议所需的组件1.加密与解密2.消息摘要3.消息验证码4.数字签名5.密钥管理1.建立共享密钥2.公钥管理四......
  • [GXYCTF2019]Ping Ping Ping
    打开页面如下:按提示输入ip127.0.0.1尝试加管道符,查看目录结构,?ip=127.0.0.1|lscat查看flag.php他骂我们,说空格不行。使用其他字符替换空格,?ip=127.0.0.1|cat$IFS$9flag.php又骂我们,说flag字符串不行,我们先看看index.php,直接审计代码看看怎么绕过,?ip=127.0.0.1|cat$IFS$......
  • [SUCTF 2019]EasySQL
    当输入数字时返回array结构,且任意非0数字都是返回1。当输入字符串时无任何回显。那么我们可以猜测sql语句中存在逻辑或符号||,因为任意非0在mysql中相当于true且返回值为1,而字符及字符串会被当作变量处理,或运算时会报错。那么绕过的方法是将mysql的sql_mode参数设置为PIPES_AS_CO......
  • [ACTF2020 新生赛]Exec
    打开页面如下:直接输入127.0.0.1,ping完没反应,猜测可能是命令执行,尝试使用管道符|,输入命令127.0.0.1|ls,有回显尝试往上查找目录,1270.0.1|ls../../../发现flag目录。直接使用cat命令查看,1270.0.1|cat../../../flag......
  • 漏洞挖掘实战教程—记录某次SRC引起的连锁漏洞挖掘,网络安全零基础入门到精通教程!
    前言最近这几篇文章一直在围绕学习干货板块去写了,个人的写作和总结能力也有了不小的提升,停笔一想,漏洞挖掘的实战咱们也不能含糊啊,哪怕是水洞,本次是某次SRC中的一个不起眼的资产,引起的多个漏洞,在文章的最后会归纳总结,不知道各位还记不记得之前画的思维导图虽然在往下更细......