CTF入门指南

何为CTF ?

CTF(Capture The Flag)夺旗比赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。

CTF赛事介绍

CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。

CTF竞赛模式

CTF竞赛模式具体分为以下三类:

一、解题模式(Jeopardy)

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

二、攻防模式(Attack-Defense)

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

三、混合模式(Mix)

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

CTF竞赛内容

不管是国内外,目前主流的CTF比赛内容主要涉及以下多个方面:

  • Web 应用漏洞挖掘利用
  • Crypto 密码学
  • Pwn 程序的逻辑分析,漏洞利用windows、linux、小型机、固件设备等
  • Misc 杂项,隐写,数据还原,脑洞、社会工程、与信息安全相关的大数据等
  • Reverse 二进制程序逆向,逆向windows、linux、移动设备类等
  • Ppc 编程类

国内外著名赛事

国际知名CTF赛事

· DEFCON CTF:CTF赛事中的“世界杯”

· UCSB iCTF:来自UCSB的面向世界高校的CTF

· Plaid CTF:包揽多项赛事冠军的CMU的PPP团队举办的在线解题赛

· Boston Key Party:近年来崛起的在线解题赛

· Codegate CTF:韩国首尔“大奖赛”,冠军奖金3000万韩元

· Secuinside CTF:韩国首尔“大奖赛”,冠军奖金3000万韩元

· XXC3 CTF:欧洲历史最悠久CCC黑客大会举办的CTF

· SIGINT CTF:德国CCCAC协会另一场解题模式竞赛

· Hack.lu CTF:卢森堡黑客会议同期举办的CTF

· EBCTF:荷兰老牌强队Eindbazen组织的在线解题赛

· Ghost in the Shellcode:由Marauders和Men in Black Hats共同组织的在线解题赛

· RwthCTF:由德国0ldEur0pe组织的在线攻防赛

· RuCTF:由俄罗斯Hackerdom组织,解题模式资格赛面向全球参赛,解题攻防混合模式的决赛面向俄罗斯队伍的国家级竞赛

· RuCTFe:由俄罗斯Hackerdom组织面向全球参赛队伍的在线攻防赛

· PHD CTF:俄罗斯Positive Hacking Day会议同期举办的CTF

国际重要CTF赛事分布图:红色为解题模式选拔赛+攻防模式现场决赛,黑色为混合模式在线赛,紫色为解题模式CTF赛,橘色为在攻防模式在线赛。

国内知名CTF赛事

· XCTF全国联赛

中国网络空间安全协会竞评演练工作组主办、南京赛宁承办的全国性网络安全赛事平台,2014-2015赛季五站选拔赛分别由清华、上交、浙大、杭电和成信技术团队组织(包括杭电HCTF、成信SCTF、清华BCTF、上交0CTF和浙大ACTF),XCTF联赛总决赛由蓝莲花战队组织。XCTF联赛是国内最权威、最高技术水平与最大影响力的网络安全CTF赛事平台。

· AliCTF

由阿里巴巴公司组织,面向在校学生的CTF竞赛,冠军奖金10万元加BlackHat全程费用。

· KCTF

看雪CTF(简称KCTF)是圈内知名度最高的技术竞技,从原CrackMe攻防大赛中发展而来,采取线上PK的方式,规则设置严格周全,题目涵盖Windows、Android、iOS、Pwn、智能设备、Web等众多领域。
看雪CTF比赛历史悠久、影响广泛。自2007年以来,看雪已经举办十多个比赛,与包括金山、360、腾讯、阿里等在内的各大公司共同合作举办赛事。比赛吸引了国内一大批安全人士的广泛关注,历年来CTF中人才辈出,汇聚了来自国内众多安全人才,高手对决,精彩异常,成为安全圈的一次比赛盛宴,突出了看雪论坛复合型人才多的优势,成为企业挑选人才的重要途径,在社会安全事业发展中产生了巨大的影响力。

· XDCTF

2015年之前由西安电子科技大学信息安全协会与西安电子科技大学组织的CTF竞赛,其特点是偏向于渗透实战经验。2016年之后由西安电子科技大学组织举办。

· HCTF

由杭州电子科技大学信息安全协会承办组织的CTF

杭州电子科技大学信息安全协会由杭州电子科技大学通信工程学院组织建立,协会已有七年历史,曾经出征DEFCON,BCTF等大型比赛并取得优异成绩,同时协会还有大量有影响力的软件作品。协会内部成员由热爱黑客技术和计算机技术的一些在校大学生组成,有多个研究方向,主要有渗透,逆向,内核,web等多个研究方向。至今已经成功举办6次CTF比赛。

· ISCC

由北理工组织的传统网络安全竞赛,最近两年逐渐转向CTF赛制。

· LCTF

由L-Team战队组织的CTF竞赛。

· TCTF

TCTF由中国网络空间安全协会竞评演练工作委员会指导、腾讯安全发起、腾讯安全联合实验室主办,0ops战队和北京邮电大学协办的CTF竞赛。

· Real World CTF

Real World CTF 是由长亭科技主办的国际级 CTF 大赛,全球首创 CTF 夺旗赛和 Pwn 赛结合的全新赛制,赛题全部基于 现实世界软件的修改或二次开发,首届即吸引了 5 大洲,15 个国家地 区顶尖战队参赛。

· 百度杯CTF夺旗大战

由百度安全应急响应中心和i春秋联合举办的CTF比赛,国内现今为止首次历时最长(半年)、频次最高的CTF大赛。赛题丰富且突破了技术和网络的限制。

· 全国大学生信息安全竞赛创新实践能力赛线上赛

由教育部高等学校信息安全专业教学指导委员会主办,西安电子科技大学、永信至诚、国卫信安等承办;百度安全中心、阿里安全应急响应中心、腾讯安全平台方舟计划、360企业安全集团赞助支持的CTF竞赛,覆盖面广,质量级别最高,被参赛选手称作CTF的国赛。

入门基础

  • 编程语言基础(汇编、C/C++、脚本语言)
  • 数学基础(主流程序算法、密码学知识)
  • 脑洞大开(天马行空的想象、逻辑推理能力)
  • 体力耐力毅力(吃嘛嘛香、身体倍棒、通宵熬夜、拿得起放得下)
如何入门
  • 恶补基础知识
  • 尝试从脑洞开始:如黑客game
  • 从基础题出发:一般都是100、200,最高分在500、600,先把100分的学好,从实践初、中级的ctf学起,比较简单,只涉及1-2个知识点
  • 学信息安全专业知识
  • 锻炼体力耐力和毅力,周六日都有比赛
如何学ctf
  1. 分析赛题情况(属于哪一类涉及哪些知识点等)
  2. 分析自身能力,自己最适合哪个方向?(方向很重要,建议兴趣所致,有时也需为团队牺牲!!!)
  3. 选择更适合的入手(从低到高、由易入难)
  4. 研究历年经典的wp(writeup)
分析赛题

PWN、Reverse:偏重对汇编、逆向及底层核心的理解

Crypto:偏重对数学、算法的学习,密码学要深入学习

Web:偏重对技巧沉淀、快速搜索能力的挑战、发散性思维,对底层、代码原理只需要了解,相关漏洞知识的积累

Misc:偏重则更复杂,所有与计算机安全挑战有关的都在其中,隐写、图片数据分析还原、流量分析、大数据、游戏逆向分析等等

常规操作

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

B方向:Web+Misc组合

Misc所有人都可以做

入门知识

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

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

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

推荐书籍

A方向:

RE for Beginners
IDA Pro权威指南
揭秘家庭路由器0day漏洞挖掘技术
自己定操作系统
黑客攻防技术宝典:系统实战篇 有各种系统的逆向讲解

B方向:

Web应用安全权威指南 最推荐小白,宏观web安全
Web前端黑客技术揭秘
黑客秘籍—渗透测试实用指南
黑客攻防技术宝典 web实战篇 web安全的所有核心基础点,有挑战性,最常规,最全,学好会直线上升
代码审计:企业级web代码安全架构

写在最后
入门-->小白-->大白-->高手-->大蛇

16字真言:

唯学勤练,唯练督学
以练促赛,以赛养练

选择一场已经存在writeup的比赛

总结解题思路与过程,分析出题人想法

参加一场最新的ctf比赛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/856021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

研究Redis源码的一些前期准备

一 背景 Redis数据结构讲完后,觉得还是有点不过瘾,想研究一下Redis的底层实现。找了一些相关资料,准备借鉴和学习其他各位大佬钻研Redis底层的方法和经验,掌握Redis实现的基本原理。 二 源码归类 网上有大佬已经总结了…

一键简易桌签(带背景)-Word插件-大珩助手

问题整理: 如何Word中设计简易桌签?如何设置带背景图的桌签? Word大珩助手是一款功能丰富的Office Word插件,旨在提高用户在处理文档时的效率。它具有多种实用的功能,能够帮助用户轻松修改、优化和管理Word文件&…

基于改进贝叶斯学习的旋转机械故障诊断(MATLAB)

贝叶斯理论的基础是18世纪的英国数学家Bayes提出的贝叶斯公式,Bayes在统计决策函数、统计推断以及和统计的估算等数学领域都做出了重要贡献。19世纪,法国数学家Laplace创作的《概率的分析理论》一文利用了贝叶斯分析,但由于当时贝叶斯理论在实…

微信小程序使用方法

一.在网页注册小程序账号(在未注册的情况下) 1.如果你还没有微信公众平台的账号,请先进入微信公众平台首页,点击 “立即注册” 按钮进行注册。我们选择 “小程序” 即可。 接着填写账号信息,需要注意的是,…

FreeRTOS源码分析

目录 1、FreeRTOS目录结构 2、核心文件 3、移植时涉及的文件 4、头文件相关 4.1 头文件目录 4.2 头文件 5、内存管理 6、入口函数 7、数据类型和编程规范 7.1 数据类型 7.2 变量名 7.3 函数名 7.4 宏的名 1、FreeRTOS目录结构 使用 STM32CubeMX 创建的 FreeRTOS 工…

每日练题(py,c,cpp)

检验素数 from math import sqrt a int(input("请输入一个数:")) for i in range(2,int(sqrt(a))):if a%i 0:print("该数不是素数")breakelse: print("该数是素数")# # 1既不是素数也不是合数 # #可以用flag做标志位 # b int(…

Opencv学习项目1——pytesseract

最近开始学习opencv使用,跟着b站一起做实战项目,跟大家分享一下学习成果,大佬勿喷 项目演示 pytesseract 是一个用于文字识别(OCR,光学字符识别)的 Python 库,它是 Tesseract OCR 引擎的 Python…

ARM服务器虚拟化手机,云手机推流应用案例

大家都知道,ARM 服务器虚拟化手机和云手机推流技术可算是热门话题,不止是企业,个人卖家也会通过云手机推流来获得更多的客源,实现经济自由,但是针对云手机的推流,很多人还是不知道有哪些应用场景~我们可以展…

一文详解分布式 ID

分布式系统中,我们经常需要对数据、消息等进行唯一标识,这个唯一标识就是分布式 ID,那么我们如何设计它呢?本文将详细讲述分布式 ID 及其生成方案。 一、为什么需要分布式 ID 目前大部分的系统都已是分布式系统,所以在…

Python的三种方式显示图片

from PIL import Image import numpy as np im Image.open("img.png") #方法一:使用PIL库显示图片 a np.array(im) imImage.fromarray(a) im.show() import matplotlib.pyplot as plt #方法二:使用matplotlib库显示图片 plt.imshow(a) plt.s…

人工智能中的监督学习和无监督学习

欢迎来到 Papicatch的博客 目录 🍉引言 🍉监督学习 🍈基本思想 🍈具体过程 🍍数据收集 🍍数据预处理 🍍模型选择 🍍模型训练 🍍模型评估 🍍模型部署…

示例:WPF中绑定枚举到ComboBox想显示成中文或自定义名称如何实现

一、目的:在开发过程中绑定的枚举不想显示成英文字段怎么办,这里通过TypeConverter的方式来实现绑定的枚举从定义的特性中读取 二、实现 首先定义如下枚举 [TypeConverter(typeof(DisplayEnumConverter))]public enum MyEnum{[Display(Name "无&q…

Flink 资源静态调度

本内容是根据 Flink 1.18.0-Scala_2.12 版本源码梳理而来。本文主要讲述任务提交时,为 Task 分配资源的过程。 以下是具体步骤讲解: TaskManager 资源注册 TaskManager 在启动时,会向 ResourceManager 注册资源。ResourceManager 会将 Tas…

斯坦福CS229机器学习中文速查笔记.pdf

斯坦福CS229是一门经典的机器学习课程,算是机器学习领域的明星课,相信不少人在B站上看过这门课的视频。 这门课主要介绍了机器学习和统计模式识别。内容包括:监督学习(生成/鉴别学习,参数/非参数学习,神经…

JavaSE 面向对象程序设计高级 方法引用 2024详解

在编程中,方法引用(Method Reference)是一种技术,它让你能够直接引用一个现有的函数或方法,而无需通过对象实例来调用。这种方法在函数式编程和高阶函数中非常有用,因为它提供了简洁的方式来传递函数行为&a…

业务谈判的过程中多让客户做选择

之前还在工厂的时候,开分享会,经理会反复强调的一个跟进思路就是一定要学会让客户跟着我们的节奏走,而不是被客户牵着鼻子走。 前者会让客户顺着我们设计好的谈判路径,把客户引导到我们想要的结果上,业务员是主动角色…

模版与策略模式

一,怎么选择 如果需要固定的执行流程,选模版 如果不需要固定的执行流程,只需要对一个方法做具体抽象,选策略 参考文章: 常用设计模式汇总,告诉你如何学习设计模式 二,常用写法 子类 exten…

穿越时空的家书——黑夫与惊的不朽传奇

1975年,湖北云梦县睡虎地的一次考古发掘,揭开了一段尘封的历史,两枚刻有527个字的木牍,成为了我国最早的家书实物。这两枚木牍,记录了战国时期秦国士兵黑夫和惊的家书。 两件木犊出土时被放置在墓地陪葬器物箱子里的中…

Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口

前言 本篇文章我们来使用 Supabase 实现 RESTful 风格的 API 接口,以此来实现网站分类和子站点的 CURD 功能。 表设计 这里需要用到两张表: ds_categorys:存储网站分类 列名类型备注iduuid主键,分类 idnametext分类名称desct…

python 魔术方法备忘录

python 魔术方法备忘录 网上收集了一些,列出了比较常用的,特别是第一张。 Python中的魔术方法(Magic Methods),也被称为特殊方法(Special Methods)或双下划线方法(Dunder Methods&a…