啥是CTF?新手如何入门CTF?-程序员宅基地

技术标签: 你永远不了CTF的魅力!  java  安全  百度  编程语言  信息安全  

在这里插入图片描述

CTF是啥

CTF 是 Capture The Flag 的简称,中文咱们叫夺旗赛,其本意是西方的一种传统运动。在比赛上两军会互相争夺旗帜,当有一方的旗帜已被敌军夺取,就代表了那一方的战败。在信息安全领域的 CTF 是说,通过各种攻击手法,获取服务器后寻找指定的字段,或者文件中某一个固定格式的字段,这个字段叫做 flag,其形式一般为 flag{xxxxxxxx},提交到裁判机就可以得分。

信息安全的 CTF 的历史可以说很长了,最早起源于 96 年的 DEFCON 全球黑客大会

为啥要参加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 题目会有点脱离现实渗透,套路、脑洞比较多,有的知识点并不实用……怎么说呢?

有的时候出题人为了出点新题会把题目设置得脑洞要特别大才能做出来,Misc 安全杂项更是这种题的重灾区。做这种题其实对现实渗透没啥帮助,比如说这道密码题,第一次见的时候头大得一笔,各位看官先猜猜看是啥:

在这里插入图片描述
我反正是看麻了…

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

在这里插入图片描述

类似这种摸不着头脑、要用特别奇怪的姿势或套路做题的题目也屡见不鲜。其实这也一定程度偏离了 CTF 的初衷,我们是要提高自己的安全姿势水平,而不是大开脑洞。

因此较为简单、脑洞略大的 CTF 题仅作扩充知识面就好了。话虽如此,现在 CTF 大赛都已经往实战的方向走了,高水准的 CTF 题目很多都会模拟真实的网站,让你更加有真实渗透的代入感,渗透手法也更加贴近实战。国内比较良心的 CTF 有 DDCTF、安恒杯月赛 CTF 等等。

关于 CTF 赛事的信息可以关注 XCTF 社区或 CTFtime 整理的赛事链接,详请点阅读原文。虽然非常可能在比赛里打不过各位大佬,但是划划水,学习学习知识也是非常不错滴。

在这里插入图片描述

总结

我搜集了一些入门比较可以的 CTF 靶场,想了想,把集合文章放到自己废弃已久的博客上,以后会在博客更新技术文章,这里依然不讲啥技术,说点儿硬硬的经验干货就好了。靶场集合点击链接到浏览器查看:

新手友好的CTF资料靶场整理合集

新手入门的话,在靶场慢慢刷题,对于不会的题目直接百度或者谷歌,都会有很多解题报告,遇到不会的知识点也要善于使用搜索引擎。最好的方法还是加入一个 CTF 小组,大家互相帮助,提高得会更加快。有什么方面需要我说得更加详细的,欢迎留言或者发消息。

最近事情比较多,有点突发状况,文章难产了好久……对各位说声不好意思。
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MachineGunJoe/article/details/119779592

智能推荐

Java性能优化:数据传输优化_java数据推送方案优化-程序员宅基地

文章浏览阅读1.2k次。数据传输优化一、前言客户端与服务端经常进行着频繁的数据传输,数据传输又影响着用户体验,本小节就传输速率的优化,整理了部分注意事项。二、数据传输优化2.1 减少数据字节数:在开始的时候,采用的是xml传输,这就要使用到Serializable/Parcelable序列化以及反序列化,其传输速度之慢,基本已经被遗弃,后来又出现了JSON序列化传输,其常用工具就是GSON和fastjson,但随着时代的进步,json也体现出了局限性json的局限性主要体现在其是基于字符串的传输,在_java数据推送方案优化

Android studio打包apk_android studio打包和上传手机商城-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏40次。项目写完了,如何打包成apk上传到应用商城?下面分享下打包流程:build 中选着 generate signed bundle/APK选下面的APK就行点next如果之前打包过apk有密钥地址和密码,可以直接输入如果是第一次,就创建一个,点create new确认之后点next然后最后finish,在目录下就可以找到打包的.apk文..._android studio打包和上传手机商城

结构方程模型原理-程序员宅基地

文章浏览阅读2.5w次,点赞27次,收藏308次。结构方程模型(Structural Equation Modeling,SEM)就是一种将两个或多个结构模型联合起来,以实现对多元关系进行建模的统计框架,其可以解决相关性分析中无法得到的因果关系以及区别直接和间接作用,是非常重要的多元数据分析工具。......_结构方程模型

Google VR SDK for Android(2)- Download and Samples(下载和示例)_android vr sdk下载-程序员宅基地

文章浏览阅读5.2k次,点赞2次,收藏3次。Google VR SDK and NDK for AndroidDownload the Google VR SDK and NDK for Android to create VR Android apps for Cardboard or Daydream. Clone thegvr-android-sdk GitHub repository by running the fol_android vr sdk下载

Carsim中添加路径_carsim怎么导入外部路径-程序员宅基地

文章浏览阅读5.2k次,点赞5次,收藏37次。目录1.新建3D Road 数据库2.设置具体参数3.添加自定义道路信息利用carsim和simulink联合仿真时,需要给定参考轨迹,具体设置如下:1.新建3D Road 数据库在Miscellaneous data中添加附加选项**“3D Road”,并新建一个数据库为road1**2.设置具体参数点一下road1,进入如下设置界面箭头1表示参考路径为二维数据,也就是路径点的(x,y)坐标;箭头2表示3D的路径长度信息,途中选的是1200m的长度,这个可以自由选择数据库中的道路。继续点开_carsim怎么导入外部路径

ASP.Net Core Razor 部署AdminLTE框架-程序员宅基地

文章浏览阅读381次。1、AdminLTE一个基于 bootstrap 的轻量级后台模板2、AdminLTE 文档在线中文Demo:http://adminlte.la998.com/在线中文文档:http://adminlte.la998.com/documentation/index.htmlGithub:https://github.com/almasaeed2010/AdminLTE/r..._.net razor adminlte

随便推点

Android引入第三方so库的一些细节_64位so库引入-程序员宅基地

文章浏览阅读596次。一.引入他人so库需要修改或创建的文件1. build.gradle此文件需要注意的地方有三点:targetSdkVersion 。jniLibs.srcDirs = [‘libs’]。abiFilters “armeabi-v7a”。在下面代码片段有具体解释apply plugin: 'com.android.application'android { compil..._64位so库引入

Hadoop集群工作时启动那些进程_hadoop集群启动中的所有进程-程序员宅基地

文章浏览阅读2.8k次。1.NameNode它时Hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存由metadata.2.SecondaryNameNode它不是NameNode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并EditsLog,减少NN启动时间。3.DataNode负责管理连接到节点的存储(一个集群可以有多个节点),每个存储数据的节点运行一个DataNode守护线程。4.ResourcreManager(Job Tracker),负责调度DataNode上的工作,每个Da_hadoop集群启动中的所有进程

RHEL6u4(x64)平台安装oracle10G_安装rhel6的可选平台有哪些?-程序员宅基地

文章浏览阅读1.3k次。RHEL6u4(x64)平台安装oracle10G1.安装系统补丁系统语言要使用英文进行显示在安装系统的时候,注意选择安装所有组件之后可以使用yum工具进行补丁的安装RHEL6u4平台可以使用如下命令打补丁yum install -ybinutils-2.20.51.0.2-5.11.el6 (x86_64)compat-libcap1-1.10-1 (x86_64_安装rhel6的可选平台有哪些?

(3)二分频systemverilog与VHDL编码_vhdl二分频器代码-程序员宅基地

文章浏览阅读314次。3二分频systemverilog与VHDL编码1 本章目录1)FPGA简介2)Verilog简介3)VHDL简介4)二分频SystemVerilog编码5)二分频VHDL编码6)结束语2 FPGA简介FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不_vhdl二分频器代码

“零前瞻”AI寻迹小车,如何跑出20厘米前瞻效果的_寻迹目标点反解算双轮速度-程序员宅基地

文章浏览阅读6.1k次,点赞20次,收藏212次。ACE参赛队伍2020-09-15 Tuesday ● 摘要本文详细介绍了山东大学(威海)ACE队在第十五届全国大学生智能汽车竞赛AI电磁组中的系统方案。内容包括AI小车的系统的原理、软硬件方案设计以及神经网络模型的生成过程。本次比赛采用大赛组委会统一指定的C型车模,AI小车以单片机MIMXRT1064DVL6A为控制核心,用电感采集赛道信息,编码器获取小车的速度。使用 IAR 及keil5集成编译环境编写C语言代码,采用PyCharm作为编译器,使用Python程序语._寻迹目标点反解算双轮速度

《Qt5:Widget、Dialog和MainWindow之间的关系》_widgets和mainwindow-程序员宅基地

文章浏览阅读8.5k次,点赞9次,收藏31次。目录概述官方文档Widget(小部件)MainWindow(主窗口)Dialog(对话框)概述Widget翻译过来是小部件的意思,Widget、Dialog和MainWindow三者都可以独立创建用户界面。QWidget类是所有用户界面对象的基类,QMainWindow和QDialog其实就是QWidget的子类,唯一有点血缘关系的就是继承了QWidget类,..._widgets和mainwindow

推荐文章

热门文章

相关标签