CTF入门指南

news/2024/5/19 23:44:49 标签: 网络, CTF, 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 CTFCTF赛事中的“世界杯”

· 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代码安全架构

入门----从基础题目出发(推荐资源)

http://ctf.idf.cn 首推 idf实验室:题目非常基础,单个知识点
https://www.ichunqiu.com i春秋,有线下决赛题目复现
http://oj.xctf.org.cn/xctf 题库网站,历年题,练习场,比较难
[WeChall] Challenges !!!!!!非常入门的国外ctf题库,很多国内都是从这里刷题成长起来的
http://canyouhack.it/ 国外,入门,有移动安全
https://microcorruption.com/login A方向 密码,逆向酷炫游戏代
http://smashthestack.org A方向,简洁,国外,wargames,过关
http://overthewire.ofg/wargames/ !!!!推荐A方向 国内资料多,老牌wargame
https://exploit-exercises.com A方向 老牌wargame,国内资料多
http://pawnable.kr/play.php pwn类游乐场,不到100题
http://ctf.moonsoscom/pentest/index.php B方向 米安的Web漏洞靶场,基础,核心知识点
prompt(1) to win - 0x0 B方向 国外的xss测试
RedTiger's Hackit B方向 国外sql注入挑战网站,10关,循序渐近地练习

github工具

GitHub - truongkma/ctf-tools: tổng hợp tool ctf
https://github.com/Plkachu/v0lt
GitHub - zardus/ctf-tools: Some setup scripts for security research tools.
GitHub - TUCTF/Tools: Tools used for various CTFs

写在最后

入门-->小白-->大白-->高手-->大蛇

16字真言:

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

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

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

参加一场最新的ctf比赛

CTFtime.org / All about CTF (Capture The Flag) 国际比赛,很多基础的题

http://www.xctf.org.cn/ 国内比赛,比较难,成长较快

组建团队--强力成员画像

1.脑洞思维:灵活性,不钻墙脚
2.专注精神:遇到问题不言弃,盘它
3.耐力毅力:连续研究技术,不出成果誓不休
4.团队精神:团结、责任、凝聚、分享

符合3条即强力成员,符合4条恭喜强力队长就是你!
2023网络安全CTF全套教程(CTF夺旗赛、核心真题解析、CTF综合测试训练、项目实战解析)icon-default.png?t=N4N7https://mp.weixin.qq.com/s/KQx_eIwdjCj3QdErxKb7ZQ


http://www.niftyadmin.cn/n/359735.html

相关文章

docker4_创建容器

docker4_搭建hadoop集群 1集群规划进入容器base_centos 2创建容器创建三个docker容器,分别作为三个结点(注意端口的设置)gpb_hdp_node3 容器gpb_hdp_node2 容器删除容器查看已经创好的容器gpb_hdp_node1容器(最后创建)问题1:容器名和 hostnam…

如何获得铁粉(弯道超车的攻略)

文章目录 一、提供有价值的内容二、保持更新频率三、与读者互动四、优化SEO五、提供专栏订阅服务 CSDN(China Software Developer Network)是中国最大的IT社区和在线学习平台之一,成立于1999年。它是一个面向软件开发者的知识共享社区,提供有关编程语言、…

Android Permission 权限申请,EasyPermission和其他三方库

在Android的实际开发中,经常会因为需求的实现,需要申请用户权限。 今天总结下Android中常用的权限申请。 一、基本介绍和流程 Android中的权限申请是通过应用程序与操作系统之间的交互实现的。在Android中,每个应用程序都被赋予了一组预定…

【多线程】两阶段终止模式

目录 一、两阶段终止模式说明二、错误思路三、实现思路图四、实现思路五、方法说明六、interrupt实现6.1 代码示例6.2 示例截图 七、volatile实现7.1 代码示例7.2 示例截图 一、两阶段终止模式说明 1.在一个线程t1中优雅地终止另一个线程t2,指终止t2线程前&#xff…

软件测试之自动化测试详解

文章目录 一.前言二.selenium介绍三.selenium的组成部分四.Selenium的环境搭建下载浏览器配置环境变量验证环境是否搭建成功 五.Selenium的API打开浏览器元素的定位操作测试对象等待操作信息获取鼠标操作键盘操作选项操作浏览器操作 六.需要用到的包 一.前言 自动化测试指软件…

Java SpringBoot自动化网页爬虫项目

介绍 Java SpringBoot自动化网页爬虫,以图形化方式定义爬虫流程,不写代码即可完成爬虫。 平台以流程图的方式定义爬虫,是一个高度灵活可配置的爬虫平台 功能根据需要可定制化开发。 特性 支持Xpath/JsonPath/css选择器/正则提取/混搭提取 支持JSON/XML/二…

Java

FileOutputStream写数据的3种方式 void write(int b) //一次写一个字节的数据 void write(byte[] b) //一次写一个字节数组数据 void write(byte[] b, int off,int len) //一次写一个字节数组的部分数据 参数一:数组;参数二:起始索引 0;参数三:个数换行: windows:“\r\n” lin…

LeetCode54 螺旋矩阵

给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例1 输入: matrix [[1,2,3],[4,5,6],[7,8,9] 输出: [1,2,3,6,9,8,7,4,5] 示例2 输入: matrix [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出…