1. CTF的昨天和今天

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

1.1 CTF竞赛模式

  • 单兵作战

理论,杂项(MISC), WEB, PWN, 逆向等各种题目

学的不仅是技术更是梦想

  • 综合靶场

团队模式,攻击相同环境的靶机

主要是WEB题型

只需攻击不用防御,越早拿到FLAG,获得的分数越高 !一台靶机通常会有多个flag, flag通常放在web根目录,桌面,C盘根目录, C:\windows\system32。 /, /tmp/, /home/等

  • 混战模式

参赛团队既是攻击者也是防御者

通常团队通过ssh管理靶机,只有web权限, flag每隔几分钟一轮,各队有自己的初始分数,flag被其他队拿到会扣分,反之得到他队flag会加分。

1.2 CTF知识点

WEB (50%)

  • 给出web网站,要求选手通过信息收集,挖掘漏洞,利用漏洞的方式获取目标权限或数据。
  • sql注入,xss,文件上传,包含漏洞,xxe, ssrf, 命令执行, 代码审计,了解web安全测试的流程,刷题!

技能

  • 经典的OWASP TOP10漏洞原理及利用技巧,SQL注入,XSS, 文件上传。
  • 常见的信息泄露方式
  • php 代码审计
  • Jave年纪a反编译及代码审计
  • 业务逻辑问题

PWN破解题 (10%)

  • 攻击远程服务器服务TPOP
  • 会提供服务程序的二进制文件
  • 分析漏洞并写出exp
  • 栈溢出,堆溢出
  • 绕过保护机制(ASLR, NX等等)

技能

  • 栈溢出的基本原理
  • 栈溢出的利用技术
  • Linux的保护机制及绕过

Reverse逆向 (10%)

  • 逆向,破解程序的算法来得到程序中的flag
  • 对抗反调试,代码混淆等等

技能

  • Windows软件逆向分析与调试
  • Linux软件逆向分析与调试
  • 二进制软件修改

Mobile移动安全 (15%)

  • 主要考察选手对安卓和ios系统的理解
  • 常给出一个安卓应用,要求选手通过分析算法,求解正确的输入(crackMe),对服务端通信进行分析,实现指定目标

技能

  • 安卓应用与服务端通信流量抓取与分析
  • 安卓应用逆向与调试
  • 安卓应用修改

MiSC(杂项

  • 取证(wireshak),编解码,加解密,隐写,图片处理,压缩包,编程,不属于上述类别的题目统称为杂项

技能

  • 常见的日志分析
  • 网络流量抓取与分析
  • 了解常见文件格式
  • 哈希算法
  • 分组密码及加密模式
  • RSA的原理与常见攻击方式

1.3 CTF学习攻略

  • 资讯
  • 练习平台
  • CTF-Writeup

2.CTF与人才培养

  • 2012年约有20-30场知名的ctf国际赛事,每场国际ctf约有200-300支队伍得分,国内没有任何ctf赛事,几乎没有ctf选手,蓝莲花战队(blue-louts)开始了ctf的探索之路。
  • 今天每年约有100+场国际ctf赛事
  • 蓝莲花连续5次进入DEFCON CTF决赛
  • Oops获得Codegate CTF 2015冠军
  • b1oOp获得DEFCON CTF 2016亚军

1.1 CTF人才去向

  • 在各个互联网企业挑起安全技术的大梁
  • 腾讯七大安全实验室
  • 阿里云/蚂蚁金服
  • 百度安全
  • Google
  • 高校攻读PHD,科学研究

麻省理工(MIT), UCSB, 佐治亚理工

  • 创建公司

注意:ctf的知识广而杂,在练习中要选对自己喜欢的方向,切忌知难而退。不只是攻击和破解,也要去创造!

引言:CTF新世界的更多相关文章

  1. CTF

    今天发现了一个神奇的领域CTF……感觉打开了新世界的大门 http://ctf.idf.cn/里面各种有趣的题目0.0

  2. CTF 和 PHP ,数据库

    引言 接触CTF 差不多一个月了,网上题目刷得也差不多,做了不少笔记,老想总结一下.当然,这种文章网上多得是. 正文笔记 少不了弱类型,松散比较,放一张图 2.  mysql_real_escape_ ...

  3. [CTF]CTF中if (md5(md5($_GET[‘a’])) == md5($_GET[‘b’])) 的绕过

    原作者:KTWO 出处:https://www.k2zone.cn/?p=2019 0X00 摘要 CTF中md5判等可使用0e绕过,但是如果是双md5该如何绕过呢?本文将教你如何绕过md5(md5( ...

  4. CTF简介

    最近在学习渗透测试,后来发现CTF很有趣,发现对学习有所帮助,于是找了几个网站,下面推荐几个我觉得不错的网站 https://www.ctfhub.com/#/index https://adworl ...

  5. 【翻译】MongoDB指南/引言

    [原文地址]https://docs.mongodb.com/manual/ 引言 MongoDB是一种开源文档型数据库,它具有高性能,高可用性,自动扩展性 1.文档数据库 MongoDB用一个文档来 ...

  6. Kafka 文档引言

    原文地址:https://kafka.apache.org/documentation.html#semantics 1.开始 1.1 引言 Kafka是一个分布式,分区队列,冗余备份的消息存储服务. ...

  7. 个人CTF资源聚合

    i春秋 幻泉 CTF入门课程笔记 视频地址 能力 思维能力 快速学习能力 技术能力 基础 编程基础 (c语言 汇编语言 脚本语言) 数学基础 (算法 密码学) 脑洞 (天马行空的想象推理) 体力耐力( ...

  8. 暑假CTF训练一

    暑假CTF训练一 围在栅栏中的爱 题目: 最近一直在好奇一个问题,QWE到底等不等于ABC? -.- .. --.- .-.. .-- - ..-. -.-. --.- --. -. ... --- ...

  9. Sharif University CTF 2016 -- Login to System (PWN 200)

    EN: It's easy to find out where is the bug : .text:0000000000400DE4 ; void *start_routine(void *).te ...

随机推荐

  1. 用 Go + WebSocket 快速实现一个 chat 服务

    前言 在 go-zero 开源之后,非常多的用户询问是否可以支持以及什么时候支持 websocket,终于在 v1.1.6 里面我们从框架层面让 websocket 的支持落地了,下面我们就以 cha ...

  2. Android Studio 分类整理 res/layout 中的布局文件

    •准备工作 新建一个名为 TestLayouts 的项目: 进入 Project 模式: 来到 TestLayouts/app/src/main/res/layout 文件夹下: •分类整理 layo ...

  3. C语言之通讯录的模拟实现

    C语言之通讯录的模拟实现 在C语言学习结束之际,谨以此篇文章来对C语言的学习告一段落. 纲要: 通讯录的静态版本 通讯录的动态版本 通讯录的带文件版本 因为三种实现方法除了储存形式不同,其他都基本相同 ...

  4. ES9的新特性:正则表达式RegExp

    简介 正则表达式是我们做数据匹配的时候常用的一种工具,虽然正则表达式的语法并不复杂,但是如果多种语法组合起来会给人一种无从下手的感觉. 于是正则表达式成了程序员的噩梦.今天我们来看一下如何在ES9中玩 ...

  5. python基础(十二):if分支表达式

    有时候,我们需要依照某种条件,再决定要不要做某个操作.在Python中,if语句能够帮助我们检查程序的当前状态,告诉计算机接下来该做什么. 条件表达式 每个if后面都跟着一个True或False的表达 ...

  6. gdb常用命令(转)

    pwn常常会用到gdb,看到一篇不错的文章,记录了很多命令:https://www.jianshu.com/p/c3e5f5972b21 gdb 基础调试命令 s step,si步入 n 执行下一条指 ...

  7. HashSet、CopyOnWriteArraySet、ConcurrentSkipListSet源码解析(JDK1.8)

    目录 HashSet源码解析 HashSet简单使用的demo HashSet中的变量 HashSet的构造函数 HashSet的add方法 HashSet的iterator方法 HashSet的si ...

  8. S-Trees UVA - 712

      A Strange Tree (S-tree) over the variable set Xn = {x1,x2,...,xn} is a binary tree representing a ...

  9. JDBC_09_Statement 和 PreparedStatement

    Statement 和 PreparedStatement * Statement数据库操作对象存在SQL注入问题,而PreparedStatement预编译数据库操作对象解决了SQL注入问题. * ...

  10. 数据结构之队列(JavaScript描述)

    队列数据结构   队列遵循先进先出原则的一组有序的项.对可在尾部添加新元素并从顶部移除元素.最新添加的元素必须排在队列的末尾 队列类似栈的例子 创建队列 创建一个类表示队列 队列内应该有一些方法 添加 ...