当前位置: 首页 > news >正文

网络安全CTF竞赛模式、题目类别、所用工具小结

前言

在开启CTF竞赛学习之路前,我们要熟悉CTF的三大竞赛模式,了解简单的CTF竞赛中涉及的题目类别,最后就是我们用哪些工具拿到Flag。本文主要是起开宗明义作用,为日后的CTF做题提供基本的理论指导。

正文:

1. CTF竞赛模式

解题模式1
一般通过线上网络参赛,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web 渗透、密码、取证、隐写、安全编程等类别。
攻防模式1
参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。注重团队合作及智力技术的比拼。
混合模式1
结合了解题模式与攻防模式的CTF赛制。参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减,最终以得分高低分出胜负。

我目前接触的最多的就是解题模式。

2. CTF竞赛题目类别与所用工具2

在常规的CTF解题模式下,CTF练习平台(或者简单的比赛)的比赛界面如下图所示。
在这里插入图片描述
当我们动手去做题的时候,我们先要仔细读题干、再选择相应的题目去做。

常见的题干有以下几大类:
2.1 Reverse
Reverse类题型要求参赛选手有较强的反汇编、反编译功底。题目主要涉及软件逆向破解技术,参赛者会得到一个程序,需在没有完整原始码的情况下分析程序,找到隐藏的信息,或者改变程序的运行流程。
逆向解题的基本流程:
(1)程序预处理,去混淆和过反调试;
(2)代码逆向,找到验证函数;
(3)验证函数数逆向,找到验证算法;
(4)破解验证算法,拿到flag;

参考书籍:《逆向工程核心原理》、《加密与解密》、《使用OllyDbg从零开始Cracking》、《IDA Pro权威指南》、《Intel汇编语言程序设计》等等。
最终目标:熟悉汇编语言、C语言、操作系统原理及其核心编程、程序加载、反汇编与调试等等。理解目标代码,能看懂目标程序编写语言。

2.2 Pwn
Pwn类题型要求参赛选手有较强漏洞利用能力。在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有整数溢出、栈溢出、堆溢出等。
Pwn解题的基本流程:
(1)分析二进制文件,找到其中漏洞;
(2)通过异常的输入,利用漏洞,执行目标代码,获取flag;

参考工具:IDA Pro、pwntools、gdb、ROPgadget等。
最终目标:掌握汇编语言、逆向基础、软件技术防护 、ROP面向返回的编程技巧、各类漏洞。

2.3 Crypto
Crypto类题型考察参赛选手密码学相关知识点。包括古典加密技术、现代加密技术甚至出题者自创加密技术,以及一些常见的编码解码,主要考察参赛选手密码学相关知识点。通常也会和其他题目相结合。
Crypto解题的基本流程:
(1)分析编码或加密所使用的技术;
(2)使用工具对密文解密;

参考工具:CryptoSearcher、Base64kit、HashCalc、RSATool2、John the Ripper等。
最终目标:熟悉各类编码方式(hex、base64、url、ascii、摩斯电码等)和加密方式(MD5、SHA、AES、DES、RSA、栅栏加密等)。

2.4 Misc
Misc类题型指的是安全杂项,主要考察参赛选手的各种基础综合知识。题目涉及隐写术、流量分析、电子取证、人肉搜索、数据分析、大数据统计等,覆盖面比较广,主要考察参赛选手的各种基础综合知识。
Misc没有套路化的解题流程,具体问题具体分析。
参考工具:file、010Editor、Binwalk、foremost、dd、Stegsolve、Audacity、steghide、Wireshark等。
最终目标:熟悉文件类型结构分析、隐写相关、压缩文件结构、日志分析、流量分析、信息收集等。

2.5 Web
Web类题型是CTF的主要题型,主要考察参赛选手是否掌握常见的Web漏洞,如XSS、文件包含、命令执行、上传漏洞、SQL注入等。也有一些简单的关于网络基础知识的考查,如请求返回包、TCP/IP、数据包内容和构造。题目环境比较接近真实环境。
Web没有套路化的解题流程,具体问题具体分析。
参考工具:Brup Suite、fiddler、中国菜刀、sqlmap、开发者工具等。
最终目标:掌握Web漏洞原理与测试技巧、JavaScript、SQL、Linux命令等等。

2.6 Mobile
主要分为安卓和IOS两个平台,以安卓逆向为主,破解apk并提交正确答案。
Mobile解题的基本流程:
(1)根据题目的apk文件,提出class.dex文件得到jar文件;
(2)获取jar文件中源码进行代码分析

参考工具:dex2jar、Androidkiller、jd-gui等。
最终目标:掌握安卓逆向分析、安卓语言等。

参考文献:


  1. CTF常见的解题模式 ↩︎ ↩︎ ↩︎

  2. CTF中常用工具大全 ↩︎

相关文章:

  • 80,90,00,房子最终砸在买房哪一代人手中?
  • 微服务项目:尚融宝(59)(核心业务流程:提现和还款(2))
  • jetson nano补充:根目录/usr刷机扩容 瘦身
  • Java工程师面试题
  • 网课查题接口使用
  • 算法练习(堆/栈/队列)
  • 大数据-ClickHouse技术一(安装部署)
  • 【Android入门】4、数据持久化:文件、SharedPreferences 和 Sqlite
  • style样式优先级问题【display:block依旧无法显示DOM元素】
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • 面试宝典------经典
  • node.js环境搭建
  • 【5G核心网】手把手教你将Open5gs托管到k8s(KubeSphere)
  • 空城机在CSDN的四周年创作纪念日
  • C++ Reference: Standard C++ Library reference: C Library: clocale: struct lconv
  • interface和setter,getter
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • vuex 学习笔记 01
  • 构造函数(constructor)与原型链(prototype)关系
  • 聊聊flink的BlobWriter
  • 每天一个设计模式之命令模式
  • 听说你叫Java(二)–Servlet请求
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • !$boo在php中什么意思,php前戏
  • #{} 和 ${}区别
  • #pragma once
  • (2)STM32单片机上位机
  • (4)logging(日志模块)
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • .apk文件,IIS不支持下载解决
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET多线程执行函数
  • .net访问oracle数据库性能问题
  • .NET下ASPX编程的几个小问题
  • .NET应用架构设计:原则、模式与实践 目录预览
  • @Bean注解详解
  • @Mapper作用
  • @RequestMapping-占位符映射
  • [BUUCTF 2018]Online Tool
  • [C++数据结构](22)哈希表与unordered_set,unordered_map实现
  • [DevOps云实践] 彻底删除AWS云资源
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [ES-5.6.12] x-pack ssl
  • [HDU3710]Battle over Cities
  • [J2ME]如何替换Google Map静态地图自带的Marker
  • [JDBC-1] JDBC Base Template
  • [JS7] 显示从0到99的100个数字
  • [linux]centos7下解决yum install mysql-server没有可用包
  • [Node.js]连接mongodb
  • [POJ2728] Desert King
  • [Share]商务web应用程序的界面设计
  • [Windows编程] DLL_THREAD_DETACH 认识误区