[CTF从0到1学习] 一、CTF 概述

哈哈,在学校图书馆借到的一本比较好的讲CTF的书籍,因为有配套资料。感觉不错,准备研读一波。先做一个引言吧‘’

首先大家能搜到这篇文章,也一定对CTF有一定了解,亦或是对网络安全感兴趣。这篇文章会分享CTF的起源,模式,所需要的基本技能的一个概述。

文章目录

  • [CTF从0到1学习] 一、CTF 概述
    • CTF起源
    • CTF模式
    • CTF必备的基础技能
    • CTFd环境搭建
      • debian11安装
      • docker安装
      • 安装docker-compose
      • 下载CTFD
      • 安装CTFd
      • docker方式安装

CTF起源

CTF起源与1996年的DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。其实早在1993-1996年,黑客们就通过比拼网汽车里装的人数多少进行竞赛。在1996-2991,比赛的重心有回归到黑客技术上,但这个阶段模式比较混乱。由于没有明确的竞赛规则与专业的裁判和竞赛环境,因此带来的争议较多,同时比赛的观赏性也不高。

从2002年开始,DEFCOM CTF由专业团队搭设比赛平台、命题采用自动化评分。2013年全球巨变了五十多场国际性CTF,2016年国内有记录的CTF多达百场。DEFCON CTF是目前全球最高水平和影响力的CTF。

国内最早的CTF是BCTF,由清华的白莲花战队组织,是国内首个国际CTF( rank=40)

CTF模式

1.解题模式:

参赛队伍通过互联网或现场网络参与。这种竞赛模式与ACM、信息学奥赛比较类似,按照解决网络安全技术挑战题目的分支和时间排名。题目包含Web渗透,密码学,信息隐写,安全编程,杂项,逆向工程,漏洞挖掘与利用等类别。

2.攻防模式

AWD模式的CTF,参赛队伍在网络空间中互相进行攻击和防御,通过挖掘网络服务漏洞并攻击对手服务得分,同时通过修补自身服务漏洞进行防御避免丢分。这种赛制中,不仅比拼参赛队员的智力和技术,也比拼体力(通常会持续48小时以上),同时体现团队内部的分工与协作。

3.混合模式

结合题解迷失和攻防模式,例如参赛队伍通过解题获取一些分数后,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。

CTF必备的基础技能

1.网络
CTF选手首先要对网络有一个基本的了解,也别是一些网络相关的关键术语和设备名称,如TCP/IP、网关、协议、网线、集线器、路由器、交换机、防火墙等。

2.操作系统

操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在‘裸机’上的最基本的系统软件。CTF考试环境基于windows、unix、Linux这几种环境搭建,必须对操作系统的常用命令、快捷键和设置了如指掌,对每一种操作系统环境下的常见文件格式、种类和使用方法有一定掌握。

CTF选手来说,手写学习基本的操作系统理论,了解操作系统的发展历史、组成结构和基本功能,其次重点掌握linux操作系统,特别是结构、各类常用命令、文件类型等知识点。应该重点掌握centOS,Ubuntu和Fedora。

3.编程

在CTF做题环节中,经常需要实现数据计算、文本分析、软件逆向等操作,通过编程,我们可实现解题思路,将自己的想法变为具体实现。建议学习python,php,c,c++,java等编程语言的知识。

4.数据库

数据库是数据安全最核心的部分,所有数据信息都存储在各种数据库中,。献血定一种数据库深入学习原理和运行机制,待了解基本的知识框架后再进行安全特性学习。建议学习的数据库有SQL Server,MySQL,Redis,Oracle,MongDB

CTFd环境搭建

CTFd是目前最流行的开源CTF框架之一,是一个由python开发的框架。

我是用的是debian11+ctfd最新版+docker

debian11安装

docker安装

https://www.bilibili.com/read/cv13641063

安装docker-compose

1.安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2.更改权限
chmod +x /usr/local/bin/docker-compose
3.查看版本
docker-compose --version

下载CTFD

git clone https://github.com/CTFd/CTFd.git
chmod -R 755 /CTFd

安装CTFd

CTFd安装有两种方式:
docker安装方式 在这里我推荐使用docker安装方式

docker方式安装

cd CTFd/docker-compose up -d

接下来就是等待安装完成,安装完成之后可以用http://ip:8000进行访问

参考 CTF安全竞赛入门 主编启明星辰网络空间安全学院

[CTF从0到1学习] 一、CTF 概述相关推荐

  1. [CTF从0到1学习] 二、CTF 密码学

    密码学 文章目录 密码学 概述 密码学基本概念 密码学的历史与发展 第一阶段(1949年前) 古典密码发展阶段 第二阶段:近代密码阶段(1949~1976) 现代密码学阶段(1976~至今) 现代密码 ...

  2. 从0到1学习CTF WEB

    从0到1学习CTF WEB web前置技能 信息泄漏 密码口令 SQL注入 基础比较薄弱,准备逐题刷CTFHub的web类型题目顺便学习一下web方面的安全知识. web前置技能 1.请求方式: 隐藏 ...

  3. VulnHub-The Ether: EvilScience (v1.0.1)渗透学习

    VulnHub-The Ether: EvilScience (v1.0.1)渗透学习 前言 靶机地址:https://download.vulnhub.com/lazysysadmin/Lazysy ...

  4. Blender 3.0基础入门学习教程 Introduction to Blender 3.0

    成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识. 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0- ...

  5. 《从0到1学习Flink》—— Flink Data transformation(转换)

    前言 在第一篇介绍 Flink 的文章 <<从0到1学习Flink>-- Apache Flink 介绍> 中就说过 Flink 程序的结构 Flink 应用程序结构就是如上图 ...

  6. 《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL

    <!-- more --> 前言 之前其实在 <从0到1学习Flink>-- 如何自定义 Data Sink ? 文章中其实已经写了点将数据写入到 MySQL,但是一些配置化的 ...

  7. 官方推荐!用TensorFlow 2.0做深度学习入门教程

    最近,TensorFlow 2.0版的开发者预览版发布没多久,这不,又有一篇优质教程来了. 最近,前Youtube视频分类的产品经理.Hands-On MachineLearning with Sci ...

  8. 2017-2-15从0开始前端学习笔记(HTML)-图片-表格-表单

    2017-2-15从0开始前端学习笔记-图片-表格-表单 标签 图片 图片<img src="#" alt="文本说明 不能加载图片时显示" title= ...

  9. flink 自定义 窗口_《从0到1学习Flink》—— Flink Data transformation(转换)

    前言 在第一篇介绍 Flink 的文章 <<从0到1学习Flink>-- Apache Flink 介绍> 中就说过 Flink 程序的结构 Flink 应用程序结构就是如上图 ...

最新文章

  1. Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆
  2. boost::iostreams模块测试定义的布尔类型特征
  3. php 自定义行间距,phpstorm 常见设置
  4. 【Elasticsearch】 6 种 能使 es 挂掉的方法
  5. Android 获取唯一机器码的代码
  6. Tensorflow笔记:神经网络优化
  7. Struts Menu中基于角色的权限管理
  8. centos服务器安装docker步骤
  9. 为什么不建议将Abaqus汉化使用?
  10. 如何备份linux磁盘空间,请问怎么备份整个硬盘又快又省空间?
  11. 请检查网站服务器是否正常.,请检查服务器地址是否正确
  12. 相关系数excel_数学建模笔记——相关系数
  13. manjaro 配置 独立显卡驱动
  14. u盘有病毒怎么办?修复U盘,3个方法解决
  15. android 下拉状态栏(SystemUI)常见修改记录
  16. 5G技术是如何改变我们的生活
  17. Python数据爬虫学习笔记(19)Scrapy天善智能网课信息爬虫
  18. linux内存管理笔记(十一)---CMA
  19. matlab绘制垂线(x轴或y轴)
  20. python做一个登录注册界面_python做一个登录注册界面的方法

热门文章

  1. 《数独游戏的设计与实现》
  2. 数学微笑了,迎来美好发展时光
  3. Java微信公众号开发之微信公众平台接入开发者
  4. MySql (4)-储存引擎、索引、锁、集群
  5. 当你觉得焦虑,烦躁的时候怎么办?
  6. 基于移动位置服务器,基于移动位置的服务系统及方法
  7. 百度地图如何准确定位?注意surroundingPois
  8. 力扣T51数组中的逆序对--困难
  9. python with打开多个文件_在python中使用with打开多个文件的方法
  10. 【unity 保卫星城】--- 开发笔记01(飞机移动)