啥是CTF?新手如何入门CTF?
CTF是啥

CTF 是 Capture The Flag 的简称,中文咱们叫夺旗赛,其本意是西方的一种传统运动。在比赛上两军会互相争夺旗帜,当有一方的旗帜已被敌军夺取,就代表了那一方的战败。在信息安全领域的 CTF 是说,通过各种攻击手法,获取服务器后寻找指定的字段,或者文件中某一个固定格式的字段,这个字段叫做 flag,其形式一般为 flag{xxxxxxxx},提交到裁判机就可以得分。
信息安全的 CTF 的历史可以说很长了,最早起源于 96 年的 DEFCON 全球黑客大会(美国最大的网络安全会议,今年 5 月在北京举行哦,有兴趣可以去听听,特别好玩)。
为啥要CTF
入门渗透,那肯定得各种练手对不对?但因为由于 「网络安全法」的颁布,随意扫描他人网站,或非授权渗透测试都有一定的风险。最近也有个新闻:

说实话,这小伙只是在扫描,攻击都被防火墙拦下了,啥都没弄到,结果还是一样被判刑,可谓是偷鸡不成蚀把米了……

所以记住千万不要乱扫国内的网站,尤其是教育、政府类网站。但初入门的同学学习渗透测试没有一个对应的环境也是不行的,而常见的靶机对于小白来说太过复杂,很容易不知如何下手。
这个时候 CTF 就非常适合了,CTF 一般是一个题目有一个或几个知识点相互糅合,相对来说目标性比较强。如果想要体会到安全的成就感和趣味性,促进自己边练边学,CTF 就是一个很好的选择。
CTF 的类型
CTF 题目类型一般分为 Web 渗透、RE 逆向、Misc 杂项、PWN 二进制漏洞利用、Crypto 密码破译,有志于渗透测试的同学一开始建议从 Web 渗透的题目开始,辅以 Misc 杂项和 Crypto 密码学。
CTF 主要分为两种模式,一是**解题模式。**对于 Web 安全来说,会要求你入侵网站或者靶机,攻击成功后系统会显示flag或者在某个目录 文件 数据库寻找 Flag,提交到答题系统得分。逆向工程题目一般形式是破解注册机、动态调试、dump 内存等等。这些题目可以百度或谷歌别人的解题报告( 关键字:CTF writeup)来认识一下。
这种模式的缺点是类似于“应试教育”,当前的趋势是注重出题难、出题偏,没有考虑实际,就跟奥数似的。而且这种模式只有攻击,却没有防守,而在企业中工作更多的还是考虑如何防护的问题,这个时候 AWD 攻防赛模式就应运而生了。

二是攻防赛,也叫 AWD(Attack With Defense,攻防兼备)模式。你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分。也就是说,攻击别人的靶机可以获取 Flag 分数时,别人会被扣分,同时你也要保护自己的主机不被别人得分,以防扣分。
这种模式非常激烈,准备要非常充分,手上要有充足的防守方案和 EXP 攻击脚本。我第一次参加这种比赛的时候就被人打惨了QWQ,不过后面参赛越多,积累的经验就会越多。所以说,这种比赛不用慌,多打多学多积累就好了。
CTF 里面也有一血之说,谁第一个交 Flag 能获得分数加成,所以说手快也很重要。不过一般来说是没有别的大佬手快的。

至于每个类型有什么题目,你可以去参加一个 CTF 赛事,打了一次之后你就会有所了解了。
CTF 和现实渗透的对比
现实的渗透测试会有非常完整的流程,从信息收集、漏洞探测开始,再逐项攻击,很多时候会一无所获。相比之下,CTF 的目标会比较明确,中等难度以下的题目一般都会在题目描述中提示漏洞的发生处,没有提示的话检测点也不会很多,一个个筛查就可以了。
其次,有很多 CTF 题目会有点脱离现实渗透,套路、脑洞比较多,有的知识点并不实用……怎么说呢?
有的时候出题人为了出点新题会把题目设置得脑洞要特别大才能做出来,Misc 安全杂项更是这种题的重灾区。做这种题其实对现实渗透没啥帮助,比如说这道密码题,第一次见的时候头大得一笔,各位看官先猜猜看是啥:

密文
做多了 CTF 的同学应该知道,这是「与佛论禅」密码加密,也不知道是谁想出来的……

与佛论禅加密
类似这种摸不着头脑、要用特别奇怪的姿势或套路做题的题目也屡见不鲜。其实这也一定程度偏离了 CTF 的初衷,我们是要提高自己的安全姿势水平,而不是大开脑洞。
因此较为简单、脑洞略大的 CTF 题仅作扩充知识面就好了。话虽如此,现在 CTF 大赛都已经往实战的方向走了,高水准的 CTF 题目很多都会模拟真实的网站,让你更加有真实渗透的代入感,渗透手法也更加贴近实战。国内比较良心的 CTF 有 DDCTF、安恒杯月赛 CTF 等等。
关于 CTF 赛事的信息可以关注 XCTF 社区或 CTFtime 整理的赛事链接,详请点阅读原文。虽然非常可能在比赛里打不过各位大佬,但是划划水,学习学习知识也是非常不错滴。

总结
新手入门的话,在靶场慢慢刷题,对于不会的题目直接百度或者谷歌,都会有很多解题报告,遇到不会的知识点也要善于使用搜索引擎。最好的方法还是加入一个 CTF 小组,大家互相帮助,提高得会更加快。有什么方面需要我说得更加详细的,欢迎留言或者发消息。
如果你是准备学习网络安全或者正在学习,下面这些你应该能用得上:
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
小白成长路线图
许多入门者转行网络安全,或者是有一定基础想进一步深化学习,却发现不知从何下手。接下来我将从成长路线开始一步步带大家揭开网安的神秘面纱。
1.成长路线图

共可以分为:
一、基础阶段
二、渗透阶段
三、安全管理
四、提升阶段

同时每个成长路线对应的板块都有配套的视频提供:

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

SRC技术文档汇总

还有大家最喜欢的黑客技术、
绿盟护网行动

网络安全源码合集+工具包

网络安全面试题

最后就是大家最关心的网络安全面试题板块
所有资料共87.9G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方CSDN官方合作二维码免费领取哦~

相关文章:
啥是CTF?新手如何入门CTF?
CTF是啥 CTF 是 Capture The Flag 的简称,中文咱们叫夺旗赛,其本意是西方的一种传统运动。在比赛上两军会互相争夺旗帜,当有一方的旗帜已被敌军夺取,就代表了那一方的战败。在信息安全领域的 CTF 是说,通过各种攻击手法…...
解决python多环境冲突问题
解决Python多环境冲突问题,以下是一些详细的解决方法: 1. 使用虚拟环境 虚拟环境允许你为每个项目创建独立的Python环境,每个环境可以有自己的库和依赖。常用的工具包括venv、virtualenv和pipenv。 使用 venv venv 是Python 3.3及以上版本…...
Aatrox-Bert-VITS2部署指南
一、模型介绍 【AI 剑魔 ①】在线语音合成(Bert-Vits2),将输入文字转化成暗裔剑魔亚托克斯音色的音频输出。 作者:Xz 乔希 https://space.bilibili.com/5859321 声音归属:Riot Games《英雄联盟》暗裔剑魔亚托克斯 …...
计算不停歇,百度沧海数据湖存储加速方案 2.0 设计和实践
本文整理自百度云智峰会 2024 —— 云原生论坛的同名演讲。 今天给大家介绍下百度沧海存储团队在数据湖加速方面的工作进展情况。 数据湖这个概念,从 2012 年产生到现在已经有十余年的时间,每家公司对它内涵的解读都不太一样。但是数据湖的主要存储底座…...
vue2项目 实现上边两个下拉框,下边一个输入框 输入框内显示的值为[“第一个下拉框选中值“ -- “第二个下拉框选中的值“]
效果: 思路: 采用vue中 [computed:] 派生属性的方式实现联动效果,上边两个切换时,下边的跟随变动 demo代码: <template><div><!-- 第一个下拉框 --><select v-model"firstValue"><option v-for"option in options" :key&q…...
el-radio 点击报错 Element with focus: inputAncestor with aria-hidden....
一、序言 浏览器版本影响的问题(与代码无关,可能是web或浏览器相关协议更新导致),不影响功能的使用. 翻译:元素上的Blocked aria-hidden,因为刚刚接收焦点的元素不能对辅助技术用户隐藏。避免在焦点元素或…...
集成平台,互联互通平台,企业大数据平台建设方案,技术方案(Word原件 )
企业集成平台建设方案及重点难点攻坚 基础支撑平台主要承担系统总体架构与各个应用子系统的交互,第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上,实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台,提出了以下要求&…...
宠物用品交易网站开发:SpringBoot技术详解
2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...
解构OpenAI swarm:利用Cursor进行框架分析与示例运行
解构OpenAI SWARM:利用Cursor进行框架分析与示例运行 1. 引言 在AI技术日新月异的今天,OpenAI再次为我们带来了惊喜。SWARM框架作为其最新研究成果,正在开创多智能体协作的新纪元。本文将带您深入探索这一框架,通过Cursor工具进行代码分析,并手把手教您安装运行SWARM。无论您…...
基于springboot的秦皇岛旅游景点管理系统 设计与实现
博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…...
uniapp展示本地swf格式文件,实现交互
概览 uniapp打包的Android项目实现本地swf格式文件的展示,并且能够进行交互 需求分析 1、因为是打包的Android项目展示本地的swf文件,首先需要拿到这个本地的swf文件路径 2、如何在uniapp的vue页面中展示swf,因为没有直接展示swf文件的标…...
ZYNQ:流水灯实验
实验目的 PL_LED0 和 PL_LED1 连接到 ZYNQ 的 PL 端,PL_LED0 和 PL_LED1循环往复产生流水灯的效果,流水间隔时间为 0.5s。 原理图 程序设计 本次实验是需要实现两个LED的循环熄灭点亮,时间间隔是0.5S,对时间间隔的控制使用计数器来完成。本…...
StratoVirt中vCPU拓扑(SMP)配置与实现的深度解析
tratoVirt作为计算产业中面向云数据中心的企业级虚拟化平台,通过一套统一的架构支持虚拟机、容器和Serverless三种场景。它不仅在轻量低噪、软硬协同和Rust语言级安全等方面具备关键技术竞争优势,还预留了接口和设计来支持更多特性,并向着标准…...
Xml 相关注解使用
XmlRootElement XmlAccessorType(XmlAccessType.FIELD) 在 Java 中,XmlRootElement 和 XmlAccessorType 是用于 JAXB(Java Architecture for XML Binding)库的注解。它们帮助开发人员将 Java 对象映射到 XML 格式,反之亦然。下面对…...
本地时间与时区时间转化(以Helpdesk和BPI Challenge 2012为例)
数据集:Helpdesk 数据来源:https://data.4tu.nl/datasets/94ee26c8-78f6-4387-b32b-f028f2103a2c/1 描述问题:此数据三列属性皆为object,此为本地时间,只需关注时间格式的变化。 经过格式转化, 数据集&am…...
Golang | Leetcode Golang题解之第482题秘钥格式化
题目: 题解: func licenseKeyFormatting(s string, k int) string {ans : []byte{}for i, cnt : len(s)-1, 0; i > 0; i-- {if s[i] ! - {ans append(ans, byte(unicode.ToUpper(rune(s[i]))))cntif cnt%k 0 {ans append(ans, -)}}}if len(ans) &…...
代码随想录 -- 贪心 -- 无重叠区间
435. 无重叠区间 - 力扣(LeetCode) 思路:与上一题十分相似。 依然按照左边界从小到大对数组排序,初始化删除的区间数为0; 从1遍历数组:如果当前区间的左边界小于上一个区间的右边界,说明这两…...
sql server xml
参考SQL Server XML学习笔记 - 缥缈的尘埃 - 博客园...
WPF中MVVM的应用举例
WPF(Windows Presentation Foundation)是微软开发的用于创建用户界面的框架,而MVVM(Model-View-ViewModel)模式是一种分离前端UI逻辑与后台业务逻辑的方法。在WPF中使用MVVM模式可以提高代码的可维护性、可测试性和可扩…...
编程题 7-24 约分最简分式【PAT】
文章目录 题目输入格式输出格式输入样例输出样例 题解解题思路完整代码 编程练习题目集目录 题目 分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如 6 /…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
