CTF之CTF(夺旗赛)介绍

news2024/11/19 5:57:52

什么是CTF?

CTF(Capture The Flag,中文一般译作“夺旗赛”)在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,用以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。如今,它已经成为全球范围网络安全圈流行的竞赛形式。

CTF的比赛模式主要包括解题模式(Jeopardy)、攻防模式(Attack-Defense)和混合模式(Mix)。在解题模式中,参赛队伍需要解决网络安全技术挑战题目,并以分值和时间排名。题目类型包括PWN(攻破、取得权限)、Stega(隐写术)、Crypto(密码学)、Web(网络)等。攻防模式中,参赛队伍需要在保护自己的同时攻击对手,获取对方的旗帜。混合模式则是解题模式和攻防模式的结合。

CTF比赛的知识范围大致分为:Web安全、PWN(二进制安全)、逆向工程、Misc(杂项)、Crypto(密码学安全)、网络安全。部分比赛还会有其他分类,如移动安全等。

CTF的发展历程

早期的CTF比赛

早期的比赛情况

1、没有明确的比赛规则

2、苛刻的比赛条件

  • 靶机由参赛者自己携带,并且自己做好靶机的防守工作;
  • 攻击对方带来的目标靶机
  • 攻陷对方的目标靶机得分,失守自己带的靶机扣分

3、有失公平的比赛计分

  • 非专业的组织者充当裁判;
  • 无后台自动计分的系统支持;
  • 手工计分:接受参赛队伍的请求进行计分

早期的比赛容易导致的结果

1、赛场上相当混乱

  • 裁判的不专业的判定导致选手的争论与不满;
  • 比赛计分的延迟和误差导致的不满;
  • 比赛中网络的不稳定和靶机的配置问题导致的不满。

2、比赛的输出形式差

  • 当时的比赛没有现在的大屏幕显示,观众只能看到选手和电脑,看不到选手的得分和失分情况,没有比赛中紧张刺激的气氛,导致观众的观赏性很差。

CTF由早期向现代过渡

2002年是CTF从早期向现代过渡的一个阶段。

  • 由专业的队伍来申请DEFCON CTF的主办权,而这个专业的比赛队伍正是1999-2001年的三连冠战队ghettohackers。
  • 有专业的队伍搭建比赛平台,自己命题以及组织赛事
  • CTF设计定制服务,并以攻击别队服务,修补和保护自己服务作为竞赛主线。

CTF比赛模式的演化

攻防模式(Attack and Defense)——>解题模式——>混合模式(Mix

CTF赛事介绍

国别

赛事内容

国内

  • XCTF:国内最早发起的网络安全联赛品牌。
  • WCTF:世界黑客大师赛吸引了全球顶尖黑客参与比赛,赛事水平在国内各项赛事中处于前列。
  • 强网杯:面向高等院校和国内信息安全企业的一次国家级网络安全赛事。
  • GeekPwn极棒:奖励力度最大的CTF比赛,赛事奖金池达500万元,单项赛事奖金高达80万元。

国外

  • DEFCON CTF:CTF赛事中的“世界杯这也是CTF比赛体系得发源地。
  • UCSB iCTF:来自UCSB的面向世界高校的CTFCodegate CTF: 韩国首尔“大奖赛”,冠军奖金3000万韩元。
  • XXC3 CTF:欧洲历史最悠久CCC黑客大会举办的CTF。
  • EBCTF:荷兰老牌强队Eindbazen组织的在线解题赛。
  • RwthCTF:由德国0ldEur0pe组织的在线攻防赛

获取CTF赛事信息

国外:ctftime.org 是对一个在国际上比较重要的赛事的做一些记录,而且会还会给出赛事的一些权重,以及对这种CTF 知名战队的一些排名

国内:XCTF社区,主要是国内的赛事或者相关公告,可以发现很多CTF赛事。网址:https://adworld.xctf.org.cn/contest/list

如何参加CTF赛事

  1. 找比赛信息,掌握各种CTF比赛时间。
  2. 提交报名信息
  3. 等待通知邮件
  4. 确认是否参赛

CTF之解题模式

CTF解题模式(Jeopardy)是CTF比赛的一种模式,参赛队伍可以通过互联网或者现场网络参与。在这种模式中,参赛队伍需要解决网络安全技术挑战题目,并以分值和时间排名。题目类型主要包括逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等。参赛队伍需要在规定时间内尽可能多地解决题目,获取更高的分数。这种模式类似于ACM编程竞赛和信息学奥赛,主要考察参赛者的技术实力和解题能力。

比赛规则

  1. 参赛队伍需要通过解决一系列的题目来获得分值,并以分值和完成时间来排名。题目通常由组织者设计,涉及各种网络安全技术和攻防策略。
  2. 参赛队伍需要通过分析、解密、漏洞利用、逆向工程等手段来解决这些题目,并找到隐藏的“旗帜”(flags)。这些“旗帜”通常是一段特定的字符串,可以是一个加密密钥、一个隐藏的文件、一个系统漏洞的利用等。
  3. 参赛队伍需要通过解决各种类型的题目来获取这些旗帜,并提交给组织者验证。每个旗帜的分值根据题目的难度而定,通常越难的题目分值越高。

eg:

  • 参赛队伍:每个参赛队伍通常由3-5名成员组成。队员之间可以协作解决问题,并共享所获得的情报和解题思路。
  • 比赛时间:CTF比赛通常持续数小时至数天不等,具体时间由主办方确定。
  • 裁判团队:每场CTF比赛都会有一个裁判团队负责维护比赛秩序、处理纠纷和评分等工作。
  • 题目类型:CTF比赛包含多种类型的题目,如密码学、逆向工程、网络安全、Web安全等。每个题目都有一个旗帜,参赛者需要通过解决问题找到旗帜并提交给裁判团队。
  • 解题模式:通常为在线比赛,目前大多数CTF比赛的主流形式,选手自由组队参赛(在线比赛人数一般不做限制)。题目通常在比赛过程里陆续放出。接触一道题目后,提交题目对应的flag即可得分,比赛结束后分高者胜。
  • 禁止行为:禁止任何形式的作弊和违规行为,包括但不限于使用未经允许的工具、利用漏洞、攻击其他队伍等。如果发现违规行为,将取消相关队伍的参赛资格。
  • 裁决:对于比赛过程中出现的争议和纠纷,由裁判团队进行裁决。裁判团队的裁决是最终的,参赛队伍需要接受并遵守。
  • 其他事项:具体的比赛规则和要求可能会根据比赛的不同而有所不同,参赛队伍需要提前了解并遵守相关规定。

解题模式的CTF竞赛要求

参赛队伍具备广泛的网络安全知识和技能。参赛队员需要熟悉逆向工程技术,能够分析和破解程序代码;需要了解漏洞挖掘与利用的方法,能够发现系统中的安全漏洞并利用它们;需要掌握Web渗透测试技术,能够发现和利用Web应用程序的漏洞;需要了解密码学的基本原理和算法,能够解密和加密数据;需要了解取证和隐写术的基本概念和方法,能够发现隐藏的信息;需要具备安全编程的能力,能够编写安全的代码等等。

题目类型

  • Web安全
    • SQL注入
    • XSS
    • 文件包含
    • 命令执行
    • 文件上传
    • ...
  • 逆向工程
    • 反编译
    • 反汇编
    • ...
  • 漏洞挖掘与漏洞利用
    • 二进制程序分析
    • 漏洞挖掘技术
    • 漏洞利用技术
    • ...
  • 密码学
    • 密码算法
    • 密码协议
    • 加密解密技术
    • ...
  • 调查取证
    • 数据隐藏技术
    • 数据恢复技术
    • 取证技术
    • ...
  • 移动安全
    • Android
    • iOS

如何练习

攻防世界: https://adworld.xctf.org.cn

Bugku:http://ctf.bugku.com

Jarvis OJ: https://www,jarvisoj.com

CTFlearn:https://ctflearn.com/challenge/1/browse

BUUCTF:https://buuoj.cn

CG CTF: https://cgctf.nuptsast.com

CTF之攻防模式

CTF攻防模式(Attack-Defense)是CTF比赛的一种模式,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。在这种模式中,参赛队伍需要同时扮演攻击者和防守者的角色,攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负。攻防模式是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。参赛队伍需要具备良好的团队分工配合与合作能力。

比赛形式

  • 比赛开始前会给每支队伍分配SSH 账号,比赛开始用该账号登录服务器进行维护(多为 Linux 服务)。
  • 在服务器的某处有一个 flag 文件,一般在根目录下,默认没有权限修改
  • 主办方每隔一定,进行一轮刷新。一轮内一支队伍的 flag 只能被提交一次,flag 一旦被拿走将扣除该队的分数。
  • 主办方会对不定期对服务进行检查,一般的判断标准就是服务是否还存在。

注意事项

  • 在竞赛进行期间,参赛人员不得携带手机等通讯工具以及上网设备进入竞赛场地内。
  • 在竞赛进行期间,选手只能跟自己团队的成员进行交流,队伍与队伍之间不允许进行任何形式的交流。
  • 在竞赛进行期间,如果有任何问题请举手示意工作人员,不准随意走动或大声喧哗;
  • 禁止选手对竞赛平台进行任意行为的恶意测试,一经发现,立即取消竞赛资格。
  • 禁止选手使用DDoS工具对现场的网络环境进行蓄意破坏,一经发现,立即取消竞赛资格。

人员分工

经典6人队伍

  1. 队长:队长是整个团队的领导者,负责组织协调、分工合作、决策制定等工作。队长需要具备全局观念和战略眼光,能够合理分配资源、协调各方行动,确保整个团队高效运转。
  2. 攻击手:攻击手负责对外发动攻击,获取其他队伍的信息和旗帜。攻击手需要具备扎实的网络安全知识和丰富的攻防经验,能够快速准确地发现目标漏洞并利用它们进行攻击。
  3. 防守手:防守手负责保护本队的信息和旗帜,防止其他队伍的攻击。防守手需要具备全面的安全知识和较强的应对能力,能够及时发现并修补漏洞、配置安全策略、监控网络流量等。
  4. 密码学专家:密码学专家负责解决与密码学相关的题目,例如加密解密、密码破解等。密码学专家需要具备深厚的密码学知识和经验,能够快速准确地解决密码学题目,为团队获取更多分值。
  5. 逆向工程专家:逆向工程专家负责解决与逆向工程相关的题目,例如反编译、反汇编、调试等。逆向工程专家需要具备扎实的逆向工程知识和经验,能够快速准确地解决逆向工程题目,为团队获取更多分值。
  6. 信息搜集与分析专家:信息搜集与分析专家负责搜集和分析比赛相关的信息和情报,例如目标队伍的情况、比赛进展等。信息搜集与分析专家需要具备较强的信息搜集和分析能力,能够为团队提供有价值的情报和支持。

常见3人队伍

  1. 队长:队长是整个团队的领导者,负责组织协调、分工合作、决策制定等工作。队长需要具备全局观念和战略眼光,能够合理分配资源、协调各方行动,确保整个团队高效运转。
  2. 攻防手:攻防手负责对外发动攻击并保护本队的信息和旗帜。攻防手需要具备扎实的网络安全知识和丰富的攻防经验,能够快速准确地发现目标漏洞并利用它们进行攻击,同时能够及时发现并修补漏洞、配置安全策略、监控网络流量等。
  3. 密码学与逆向工程专家:密码学与逆向工程专家负责解决与密码学和逆向工程相关的题目,例如加密解密、密码破解、反编译、反汇编、调试等。密码学与逆向工程专家需要具备深厚的密码学和逆向工程知识和经验,能够快速准确地解决相关题目,为团队获取更多分值。

如何练习攻防模式

线上: hack the box

Hack The Box: Hacking Training For The Best | Individuals & CompaniesWhere hackers level up! An online cybersecurity training platform allowing IT professionals to advance their ethical hacking skills and be part of a worldwide community. Join today and learn how to hack!icon-default.png?t=N7T8https://www.hackthebox.eu

线下: vulnhub

Vulnerable By Design ~ VulnHubVulnHub provides materials allowing anyone to gain practical hands-on experience with digital security, computer applications and network administration tasks.icon-default.png?t=N7T8https://www.vulnhub.com

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

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

相关文章

最新AI智能创作系统源码SparkAi系统V2.6.3/AI绘画系统/支持GPT联网提问/支持Prompt应用/支持国内AI模型

一、智能AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统,已支持OpenAIGPT全模型国内AI全模型,已支持国内AI模型 百度文心一言、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型等。本期针对源码…

Javascript - 轮播图

轮播图也称banner图、广告图、焦点图、滑片。是指在一个模块或者窗口,通过鼠标点击或手指滑动后,可以看到多张图片。这些图片统称为轮播图,这个模块叫做轮播模块。可以通过运用 javascript去实现定时自动转换图片。以下通过一个小Demo演示如何运用Javascript实现。 <!DOCTYP…

d3dcompiler_47.dll是什么文件?游戏确实d3dcompiler_47.dll的常用解决方法

d3dcompiler_47.dll 是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;属于 Microsoft DirectX 软件组件的一部分。它主要负责处理 DirectX 中的图形和多媒体内容&#xff0c;以确保游戏和应用程序能够正常运行。d3dcompiler_47.dll 的主要功能是将 DirectX API 转…

基于SpringBoot的在线宠物用品交易网站

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 商品分类管理 品牌信息管理 商品信息管理 商品信息 我的收藏 我的订单 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实…

C++设计模式-组合(Composite)

目录 C设计模式-组合&#xff08;Composite&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-组合&#xff08;Composite&#xff09; 一、意图 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的…

stm32之手动创建keil工程--HAL库

用CubeMx创建了好多stm32的工程&#xff0c;这里记录下手动创建keil工程的过程。 一、准备工作 1.1、下载对应的HAL库&#xff0c; 这里使用的是stm32f103c8t6, 下载地址stm32HAL库 在页面中输入对应型号点击进行二级页面进行下载 1.2、准备工程 各文件夹下具体操作如下&am…

Qt之QDial(表盘)

简介 QDial类提供了一个四舍五入的范围控制&#xff08;如速度计或电位计&#xff09;&#xff0c;非常适合需要循环计数的情况&#xff0c;例如角度等。 头文件&#xff1a;#include <QDial> qmake&#xff1a;QT widgets 继承&#xff1a;QAbstractSlider …

在WIN10平台上体验Microsoft古老的Quick C 1.0编程

前言&#xff1a; 90年代初&#xff0c;微软出了Quick系统对抗Borland Turbo系列&#xff0c;其中包括 QuickBasic, QuickPascal和Quick C。1991年&#xff0c;Quick C for Windows 1.0发布&#xff0c;后来它被Visual C取代。我自己觉得微软成就在那个winstub.exe桩上&#xf…

连接虚拟机工具推荐

连接虚拟机工具推荐 连接虚拟机的工具有很多种&#xff0c;以下是一些常用的推荐&#xff1a; PuTTY&#xff1a;这是一个非常常用的SSH和telnet客户端&#xff0c;适用于Windows系统。它允许你在本地机器上通过命令行接口远程登录到虚拟机。 SecureCRT&#xff1a;这是一个支…

vscode 配置自定义code snippets 来快速生成你的常用代码

一、功能介绍 什么是 snippets 功能&#xff1f; 其实大家可能体验过vscode 预先内置的许多 snippets, 比如 for 循环。 在输入 for Tab 的时候&#xff0c;就可以自动生成代码模版&#xff0c; 展开就是这样的代码 有一个小窍门是通过 tab 键可以在参数之间进行跳转&#xf…

力扣 -- 1745. 分割回文串 IV

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:bool checkPartitioning(string s) {int ns.size();vector<vector<bool>> dp(n,vector<bool>(n));for(int in-1;i>0;i--){for(int ji;j<n;j){if(s[i]s[j]){dp[i][j]i1<j?dp[i…

【C++设计模式之观察者模式:行为型】分析及示例

简介 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;使得当一个对象的状态发生变化时&#xff0c;所有依赖它的对象都能够自动收到通知并更新。 描述 观察者模式由两个核心件组成&#xff1…

抄写Linux源码(Day18:读取硬盘前的准备工作有哪些?)

回忆我们需要做的事情&#xff1a; 为了支持 shell 程序的执行&#xff0c;我们需要提供&#xff1a; 1.缺页中断(不理解为什么要这个东西&#xff0c;只是闪客说需要&#xff0c;后边再说) 2.硬盘驱动、文件系统 (shell程序一开始是存放在磁盘里的&#xff0c;所以需要这两个东…

[论文精读]U-Net: Convolutional Networks for BiomedicalImage Segmentation

论文原文&#xff1a;U-Net: Convolutional Networks for Biomedical Image Segmentation (arxiv.org) 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔…

[笔记] Windows内核课程:保护模式《二》段寄存器介绍

文章目录 前言1、什么是段寄存器? 有哪些 ?2. 段寄存器的结构 前言 段寄存器&#xff0c;页寄存器 1、什么是段寄存器? 有哪些 ? 当我们用汇编读写某一个地址时: mov dword ptr ds:[0x123456],eax我们真正读写的地址是: ds.base 0x123456ES、CS、SS、DS、FS、GS、LDTR…

Linux和Hadoop的学习

目录 1. Linux的常用快捷键2. Hadoop集群部署问题汇总 1. Linux的常用快捷键 复制&#xff1a;CtrlshiftC 粘贴&#xff1a;CtrlshiftV TAB&#xff1a;补全命令 编写输入&#xff1a;i 退出编写&#xff1a;esc 保存并退出&#xff1a;shift&#xff1a; 2. Hadoop集群部署问…

网络安全(黑客)从零开始的自学指南(第一章)

第一章&#xff1a;网络安全概述 1.1 什么是网络安全 网络安全是指保护计算机网络系统和网络中的数据免受未经授权的访问、使用、破坏、篡改或泄露的一系列措施和技术。随着互联网的普及和信息化的发展&#xff0c;网络安全问题日益突出&#xff0c;对个人、组织和国家的安全…

电影大师杂记

假期集中刷了好多书&#xff0c;游戏和电影&#xff0c;在虚拟世界里猛烈的各种闲逛&#xff0c;cyberpunk 2077到blade runner&#xff0c;到异形&#xff0c;到终结者&#xff0c;到星球大战&环太平洋&#xff0c;到工业光魔&#xff0c;还有各种编程的书。。。 hmmm&…

Kali镜像

镜像地址 Index of /kali-images/http://old.kali.org/kali-images/

C++设计模式-装饰器(Decorator)

目录 C设计模式-装饰器&#xff08;Decorator&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-装饰器&#xff08;Decorator&#xff09; 一、意图 动态地给一个对象添加一些额外的职责。就增加功能来说&#xff0c;Decorator模式相比生成子…