CTF之CTF(夺旗赛)介绍

什么是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.rhkb.cn/news/154063.html

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

相关文章

2023年中国全固态电池市场发展趋势分析:全固态电池的渗透率将占据固态电池市场主体[图]

全固态电池是锂电池的一种细分,其电池的电解质和电极材料全部由固态材料构成,而非传统电池中常见的液态或者凝胶电解质。由于传统液态锂电池中电解液具有易燃特性,近年来相关安全事故频发,因此随着技术革新,固态电池的…

openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw

文章目录 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw95.1 使用postgres_fdw95.2 postgres_fdw下推主要成分95.3 常见问题95.4 注意事项 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw openGauss的fdw实现的功能是各个…

[羊城杯 2020]black cat - 文件隐写+RCE(hash_hmac绕过)

[羊城杯 2020]black cat 1 解题流程1.1 第一步1.2 第二步1.3 第三步 1 解题流程 1.1 第一步 打开网站有首歌,按F12也是提示听歌,ctf-wscan扫描就flag.php下载歌,用010打开,发现有一段内容if(empty($_POST[Black-Cat-Sheriff]) |…

ThreeJS-3D教学五-材质

我们在ThreeJS-3D教学二&#xff1a;基础形状展示中有简单介绍过一些常用的材质&#xff0c;这次我们举例来具体看下效果&#xff1a; 代码是这样的&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

【Qt】三种方式实现抽奖小游戏

简介 本文章是基本Qt与C实现一个抽奖小游戏&#xff0c;用到的知识点在此前发布的几篇文章。 下面是跳转链接&#xff1a; 【Qt控件之QLabel】用法及技巧链接&#xff1a; https://blog.csdn.net/MrHHHHHH/article/details/133691441?spm1001.2014.3001.5501 【Qt控件之QPus…

CRMEB 标准版商城系统新增主题风格颜色【超级完整教程】

一、后台 1.新增主题图片 assets/images/brown.jpg和assets/images/brownsign.png 2.修改admin/src/pages/setting/themeStyle/index.vue 3.修改admin/src/pages/marketing/sign/index.vue 4.修改admin/src/pages/system/group/visualization.vue &#xff08;第三步和第四步…

嵌入式养成计划-33--数据库-sqlite3

七十一、 数据库 71.1 数据库基本概念 数据&#xff08;Data&#xff09; 能够输入计算机并能被计算机程序识别和处理的信息集合数据库 &#xff08;Database&#xff09;数据库是在数据库管理系统管理和控制之下&#xff0c;存放在存储介质上的数据集合 常用的数据库 大型数…

MapReduce(林子雨慕课课程)

文章目录 7. MapReduce7.1 MapReduce简介7.1.1 分布式并行编程7.1.2 MapReduce模型简介 7.2 MapReduce体系结构7.3 MapReduce工作流程概述7.4 Shuffle过程原理7.5 MapReduce应用程序的执行过程7.6 WordCount实例分析7.7 MapReduce的具体应用7.8 MaReduce编程实践 7. MapReduce …

Prometheus和grafana安装配置手册

1.简介 本文档为prometheus和grafana安装配置手册&#xff0c;prometheus和grafana的内容、和操作过程&#xff0c;详细介绍了服务监控配置、dashboard配置、告警配置等操作。 2.部署说明 Prometheus基于Golang编写&#xff08;需要安装&#xff09;&#xff0c;编译后的软件…

PyTorch 深度学习实战

文章目录 前言1. 环境安装1.Anaconda2.pytorch cuda 环境3.测试 前言 官网 https://pytorch.org/hub/pytorch_vision_vgg/ 1. 环境安装 1.Anaconda 可以参考这里&#xff1a;Anaconda学习 2.pytorch cuda 环境 我是按照下面的博客一步步完成&#xff0c;亲测有效 Pytorc…

移动应用-Android-开发指南

Android-UI开发指南 Android Studio调试UI设计UI框架布局Layout文本框 android的活动Activity基本概念Activity的生命周期Activity栈创建Activity管理ActivityActivity间传递数据 FragmentAdapterRecyclerViewRecyclerView Adapter&#xff08;适配器&#xff09;事件setOnItem…

基于BES平台音乐信号处理之DRC算法实现

基于BES平台音乐信号处理之DRC算法实现 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)&#xff1f;加我微信hezkz17, 本群提供音频技术答疑服务 1 DRC实现 drc.h 2 调用 audio_process.c 3 DRC动态范围控制算法在音乐信号处理中的位置 4 DRC具体细节源码 可参考…

Lumos-az/MiniSQL阅读笔记

文章目录 处理SQL创建创建表RecordManager部分CatalogManager部分 创建索引IndexManager::createIndex部分API::createNewIndex部分CatalogManager::createIndex部分 插入删除删除表删除记录? 查询B树gif演示B树增删&#xff1a;插入&#xff1a;删除&#xff1a; 项目源码&am…

ArcGIS Pro地图可视化—双变量关系映射

原址链接ArcGIS Pro地图可视化—双变量关系映射https://mp.weixin.qq.com/s/g-pPBHPXMOEF5NHm06JcrA 这个方法很早很早以前就有了&#xff0c;可能大家早就知道了&#xff0c;可我昨天刚看到这个东西 https://en.wikipedia.org/wiki/Multivariate_map 像是上图&#xff0c;美国…

MyBatisPlus(十)判空查询

说明 判空查询&#xff0c;对应SQL语句中的 IS NULL语句&#xff0c;查询对应字段为 NULL 的数据。 isNull /*** 查询用户列表&#xff0c; 查询条件&#xff1a;电子邮箱为 null 。*/Testvoid isNull() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<…

ctfshow-web9(奇妙的ffifdyop绕过)

尝试万能密码登录&#xff0c;没有任何回显 尝试扫描目录&#xff0c;这里不知道为啥御剑什么都扫不到&#xff0c;使用dirsearch可以扫到robots.txt 查看robots协议 访问下载index.phps 查看index.phps 简单审计一下php代码&#xff1a; $password$_POST[password]; if(strl…

js 之让人迷惑的闭包

文章目录 一、闭包是什么&#xff1f; &#x1f926;‍♂️二、闭包 &#x1f60e;三、使用场景 &#x1f601;四、使用场景&#xff08;2&#xff09; &#x1f601;五、闭包的原理六、思考总结一、 更深层次了解闭包&#xff0c;分析以下代码执行过程二、闭包三、闭包定义四、…

GNN+RA 文献阅读

[1] X. Wang et al., ‘Scalable Resource Management for Dynamic MEC: An Unsupervised Link-Output Graph Neural Network Approach’. paper code&#xff1a;GitHub - UNIC-Lab/LOGNN: This is the code for paper "Scalable Resource Management for Dynamic MEC:…

吃透底层:从路由到前缀树

前言 今天学到关于路由相关文章&#xff0c;发现动态路由中有一个很常见的实现方式是前缀树&#xff0c;很感兴趣这个算法&#xff0c;故进行记录。 前缀树 Trie&#xff08;又被叫做字典树&#xff09;可以看作是一个确定有限状态自动机&#xff0c;尽管边上的符号一般是隐含…

kaggle新赛:写作质量预测大赛【数据挖掘】

赛题名称&#xff1a;Linking Writing Processes to Writing Quality 赛题链接&#xff1a;https://www.kaggle.com/competitions/linking-writing-processes-to-writing-quality 赛题背景 写作过程中存在复杂的行为动作和认知活动&#xff0c;不同作者可能采用不同的计划修…