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

一、赛事介绍

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

二、竞赛模式

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

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

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

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

三、CTF各大题型简介

PWN(溢出):PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。在CTF比赛中,线上比赛会有,但是比例不会太重,进入线下比赛,逆向和溢出则是战队实力的关键。主要考察参数选手漏洞挖掘和利用能力。

MISC(安全杂项):全称Miscellaneous。题目涉及流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广。我们平时看到的社工类题目;给你一个流量包让你分析的题目;取证分析题目,都属于这类题目。主要考查参赛选手的各种基础综合知识,考察范围比较广。

CRYPTO(密码学):全称Cryptography。题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术。实验吧“角斗场”中,这样的题目汇集的最多。这部分主要考查参赛选手密码学相关知识点。

WEB(web类):WEB应用在今天越来越广泛,也是CTF夺旗竞赛中的主要题型,题目涉及到常见的Web漏洞,诸如注入、XSS、文件包含、代码审计、上传等漏洞。这些题目都不是简单的注入、上传题目,至少会有一层的安全过滤,需要选手想办法绕过。且Web题目是国内比较多也是大家比较喜欢的题目。因为大多数人开始安全都是从web日站开始的。

REVERSE(逆向):全称reverse。题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。需要掌握汇编,堆栈、寄存器方面的知识。有好的逻辑思维能力。主要考查参赛选手的逆向分析能力。此类题目也是线下比赛的考察重点。

PPC(编程类):全称Professionally Program Coder。题目涉及到程序编写、编程算法实现。算法的逆向编写,批量处理等,有时候用编程去处理问题,会方便的多。当然PPC相比ACM来说,还是较为容易的。至于编程语言嘛,推荐使用Python来尝试。这部分主要考察选手的快速编程能力。

STEGA(隐写):全称Steganography。隐写术是我开始接触CTF觉得比较神奇的一类,知道这个东西的时候感觉好神奇啊,黑客们真是聪明。题目的Flag会隐藏到图片、音频、视频等各类数据载体中供参赛选手获取。载体就是图片、音频、视频等,可能是修改了这些载体来隐藏flag,也可能将flag隐藏在这些载体的二进制空白位置。有时候需要你侦探精神足够的强,才能发现。此类题目主要考查参赛选手的对各种隐写工具、隐写算法的熟悉程度。实验吧“角斗场”的隐写题目在我看来是比较全的,以上说到的都有涵盖。新手盆友们可以去了解下。

四、赛题情况分析

  • PWN、Reserve 偏重对汇编、逆向的理解
  • Crypto 偏重对数学、算法的深入学习
  • Web 编程对技巧沉淀、快速搜索能力的挑战
  • Misc 则更为复杂,所有与计算机安全挑战有关的都算在其中

五、常规解法

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

方向B:Web+Misc组合

Misc所有人都可以做

六、基础知识&信息安全专业知识

推荐图书:

A方向:

RE for Beginners(逆向工程入门)

IDA Pro权威指南

揭秘家庭路由器0day漏洞挖掘技术

自己动手写操作系统

黑客攻防宝典:系统实战篇

B方向:

Web应用安全权威指南

Web前端黑客技术揭秘

黑客秘籍——渗透测试使用指南

黑客攻防宝典WEB实战篇

代码审计:企业级Web代码安全架构

七、刷题网站

  1. i春秋训练平台:https://www.ichunqiu.com/battalion
  2. XCTF(攻防世界)竞赛平台:https://adworld.xctf.org.cn/
  3. 网络信息安全攻防学习平台:http://hackinglab.cn/
  4. OWASP 中国:http://www.owasp.org.cn/
  5. RedTigers-Hackit:http://redtiger.labs.overthewire.org/
  6. 实验吧CTF训练营:http://www.shiyanbar.com/
  7. 全国大学生信息安全竞赛官方网站:http://www.ciscn.cn/
  8. 合天网安实验室 :https://www.hetianlab.com/CTFrace.html
  9. 封神台:https://hack.zkaq.org/?a=battle
  10. We Chall: http://www.wechall.net/sites.php
  11. SQL Fiddle在线练习:http://www.sqlfiddle.com/
  12. BUUCTF:https://buuoj.cn/faq
  13. CTFHUB:https://www.ctfhub.com/#/skilltree
  14. 游戏化平台:https://microcorruption.com/login
  15. SMASH THE STACK: http://smashthestack.org/
  16. Wargames:http://overthewire.org/wargames/

八、工具集

https://github.com/P1kachu/v0lt

https://github.com/truongkma/ctf-tools

https://github.com/zardus/ctf-tools

九、参考

攻防世界XCTF黑客笔记刷题记录

【CTF】CTF竞赛介绍以及刷题网址相关推荐

  1. 数据挖掘竞赛,算法刷题网址汇总

    数据竞赛类网站 Kaggle 阿里巴巴天池大数据比赛 DataCastle CCF大数据与计算智能大赛 Di-Tech算法大赛 KDD-Cup KDnuggets Competition 全国高校云计 ...

  2. python oj刷题网站_中小学计算机竞赛去哪里刷题?橙旭园OJ系统上线啦!

    原标题:中小学计算机竞赛去哪里刷题?橙旭园OJ系统上线啦! 相信许多人在学习完编程之后都会茫然,感觉自己无所不能,但是当敲代码时却大脑一片空白.在这里向大家介绍练习和提高代码水平的新姿势--橙旭园OJ ...

  3. CTF BugKu平台——Crypto篇刷题记录(后续更新)

    CTF BugKu平台--Crypto篇 前言 抄错的字符: /.- 聪明的小羊: ok: [+-<>]: 把猪困在猪圈里: 你喜欢下棋吗: 小山丘的秘密: EN-气泡: 你以为是md5吗 ...

  4. 为什么学习信息学竞赛 信息学奥赛学习规划 信息竞赛如何高效刷题

    OI 教育漫谈(一):为什么学习信息学竞赛 OI 教育漫谈(一):为什么学习信息学竞赛 [NOI2022]PV「什么是信息学精神?」 [NOI2022]PV「什么是信息学精神?」-CSDN博客 少儿 ...

  5. mysql有哪些地方刷题网站_几个SQL在线刷题的网站

    每天更新,大概率是晚9点 大家好,朱小五 最近在知识星球分享了几个在线SQL刷题的网站,今天正好给大家详细介绍推荐一下. SQLZOO (⭐⭐) https://sqlzoo.net/ 上面的网址是一 ...

  6. LintCode刷题:有效数字

    今天第一次是跟随一个博主学习足迹知道有LintCode 和LeetCode这两个刷题网址,专为学编程的同志练手,我希望我可以每天坚持刷一题!!!! 第一次不知道直接点"帮我挑一题" ...

  7. 强烈推荐这款刷题小程序

    做了一款编程面试题小程序,本小程序旨在帮助大家面试刷题使用,小程序中的面试题,大部分来源于编程群内广大程序员朋友上传的真实面试题,答案并经由自己及参考一些资料整理得来,如果使用中遇到问题,请及时反馈. ...

  8. 力扣刷题pdf(java版本,内含暗黑版和光明版),都在这里了

    BAT大佬力扣刷题pdf,都在这里了! ​相信很多小伙伴刷题的时候面对力扣上近两千道题目,感觉无从下手! 我找了很久,今天终于让找到了Java版leetcode算法题解笔记,强烈建议先按照本篇介绍pd ...

  9. 卧槽!发现一款刷题神器!

    做了一款编程面试题小程序,本小程序旨在帮助大家面试刷题使用,小程序中的面试题,大部分来源于编程群内广大程序员朋友上传的真实面试题,答案并经由自己及参考一些资料整理得来,如果使用中遇到问题,请及时反馈. ...

最新文章

  1. Eclipse Color Themes
  2. transient的作用和使用
  3. duilib控件的一些属性
  4. java 多态 降低耦合_java多态
  5. leetcode 1024. 视频拼接(dp/贪心)
  6. RabbitMQ(1) - win+rabbitMQ
  7. 快门光圈感光度口诀_光圈、快门、感光度之间的关系
  8. 【优化算法】粒子群算法和混沌搜索协同优化算法【含Matlab源码 1299期】
  9. html期末作业代码网页设计 我的家乡网站设计——我的家乡-四川成都(4页) HTML+CSS+JavaScript
  10. linux防火墙reject,linux 防火墙配置与REJECT导致没有生效问题(示例代码)
  11. 计算机网络(谢希仁第七版)期末重点
  12. tolower c语言,C 库函数 tolower() 使用方法及示例
  13. 天翼校园网开wifi指南
  14. html中href传递参数,a href带参数传递
  15. 周末学习总结(LIO标定+kitti数据集的使用+evo工具的使用+开源数据集+ssh的使用)
  16. android psensor测试,android传感器Gsensor和Psensor的使用举例
  17. 生活都不容易,如果你感觉生活很苦,那就说明你在吃苦,同样,如果你感觉生活有奔头,那就是在努力。
  18. java精尽面试题MySQL面试高频一百问(工程师方向)
  19. 详解五种最短路径算法及其区别(c++)
  20. 机器学习实战_朴素贝叶斯分类器_预测疾病

热门文章

  1. 使用selenium爬取36氪
  2. 104型计算机键盘,电脑上的pc 机104键指的是什么?
  3. SAP采购中寄售和外协加工信息记录的不同应用逻辑解析
  4. Yolov5 系列1--- Yolo发展史以及Yolov5模型详解
  5. django 加 celery 异步任务配置到成功运行
  6. 静态时序分析(STA) —— 时序检查
  7. MySQL表结构导出Excel
  8. Hive sql 每天场景题 41
  9. Qt项目发布打包教程(win10)
  10. c#联合vp开发软件-day1