[译]如何开始CTF

[译]如何开始CTF



Steve Vittitoe 发表于 2014.6.9

译者:wnng

英语水平很差,翻译纯粹是为了兴趣和练习英语。

如果我的翻译能帮到您,那真是太好了。

有不好的地方希望大佬们可以帮我指出来,多谢!

原文地址:How to Get Started in CTF

参考资料:CTF Wiki



原文:

在过去的两周里,我分析了第22届DEFCON大赛里的两道题:“shitsco”“nonameyet”,感谢每一条的评论和提问,其中被提过最多的问题是“如何开始CTF?”。不久前,我也问过自己同样的问题。最简单的方法就是注册一个CTF平台,比如CSAWPico CTFMicrocorruption或者其他在此页内的网站。通过练习、耐心和奉献,你的能力就会一天天提高。

如果你平时想做一些题目,这里存了大多数比赛的题目。这些题目通常会有许多不同级别,对于最简单难度的题目也不能大意,难不难取决于你的技术。比如你擅长取证分析(forensics)题但是对密码攻击(crypto)题不太熟,那么你可能取证分析题得到分数很多而密码攻击题得到的分很少。对于CTF出题者来说各自也有擅长的领域,这也是难以评定CTF难度的原因之一。

如果你已经自己尝试过简单的题目并且还在努力着,那么你很有可能自学成功。CTF竞赛通常注重一下技能:逆向工程(reverse engineering)、密码攻击(cryptography)、类ACM编程题(ACM style programming)、Web网络攻防(web vulnerabilities)、二进制漏洞(binary exercises)和网络/取证分析(networking and forensics)。选择其中一个方向作为学习CTF的开始。

1) 逆向工程(reverse engineering)。我强烈建议你下载 IDA Pro,有免费版本和学生折扣。尝试做一些CrackMe练习,写一些C语言程序再反编译,改变编译选项和程序逻辑再反复反编译。C代码中的“if”语句和编译后二进制程序中“select”有和不同?我建议你先从x86、x86_64和ARM三个架构的处理器选择一个学习,阅读这种架构处理器的手册。书籍推荐:

2) 密码攻击(cryptography)。虽然密码攻击并不是我擅长的,但是我可以提供一些书籍:

3) 类ACM编程题(ACM style programming)。选择一门高级语言,我推荐Python或者Ruby。对于Python,可以阅读Dive into Python(免费),并且找一个小项目来练习。对于Puby,值得一提的是Metasploit就是用Ruby写的。算法和数据结构这些计算机学科课程也发挥着巨大的作用。做做CTF和其他比赛的以前编程题。应该注重于找到可行解决方案,而不是以最快或者最优雅的方式解决,尤其是在学习之初。

4) Web网络攻防(web vulnerabilities)。Web编程技术有很多中,其中在CTF比赛中最受欢迎的是PHP和SQL。php.net是一个很好的参考网站,去搜索任何你感兴趣的函数吧。除了PHP之外最常见的Web题是Python和Ruby脚本,发现了考查能力的重叠了吗?有一本关于Web网络攻防的好书:黑客攻防技术宝典:Web实战篇(The Web Application Hacker’s Handbook)。除此之外,在掌握了一些基础技能之后,你也可以考虑去学习一些比较流行的免费工具,这些工具在CTF比赛中偶尔也有用。根据我的经验,这类题常常和密码攻击(cryptography)重叠。

5) 二进制漏洞(binary exercises)。这是我最喜欢的部分,我建议你在学习二进制漏洞之前先学习逆向工程(reverse engineering)。你可以单独学习一些常见了漏洞类型作为学习的开始:栈溢出(stackoverflows)堆溢出(heap overflows)格式化字符串漏洞(format string bugs)。其中很多都是训练你找出脆弱代码段的能力,查看过去的漏洞也是帮助你找出脆弱代码段的好办法。你还应该通读:

6) 网络/取证分析(networking and forensics)。很多CTF团队都有专门负责这部分的成员,我不负责这一块,但我可以建议你去学习使用010 hex editor,并且不要怕自己对这类问题的猜想有多荒谬。

最后,Dan Guido和他的团队最近推出了CTF field guide平台,对CTF这几个点的介绍很精彩。

原文地址:https://www.cnblogs.com/wngg/p/10886912.html

时间: 2024-10-30 00:15:57

[译]如何开始CTF的相关文章

CTF中那些脑洞大开的编码和加密

0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问题:表哥,你知道这是什么加密吗?其实CTF中脑洞密码题(非现代加密方式)一般都是各种古典密码的变形,一般出题者会对密文进行一些处理,但是会给留一些线索,所以写此文的目的是想给小伙伴做题时给一些参考,当然常在CTF里出现的编码也可以了解一下.本来是想尽快写出参考的文章,无奈期间被各种事情耽搁导致文章断断续续写了2个月,文章肯定有许多没有提及到,欢迎小伙伴补充,总之,希望对小伙伴们有帮助吧! 0x01 目录 1 2 3

IDF - CTF - 牛刀小试

找学校CTF好地方,IDF实验室CTF训练营(http://ctf.idf.cn/). . 刚接触CTF.来玩下牛刀小试.AK了. . 好爽好爽.. 1.摩斯password 嘀嗒嘀嗒嘀嗒嘀嗒 时针它不停在转动 --  ---  .-.  ...  . 嘀嗒嘀嗒嘀嗒嘀嗒 小雨它拍打着水花 -.-.  ---  -..  . -->>题目是摩斯password.搜索下"摩斯password",发现了嘀(.)嗒(-)和英文字母的对比表: A ·- B -··· C -·-· D

CTF入门——密码学基础

开篇 协会纳新的人数越来越多,也直播了一些基础课程,不知道大家有没有全部看懂.初入信息安全不知道如何学是很常见的,我们竞赛的类型主要是CTF(cross the fire (o?v?)ノ2333开玩笑....好吧是夺旗战  这是针对0基础的同学写的入门篇目,请大佬们轻喷~~ CTF介绍 CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式.CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实

译:SOS_SCHEDULER_YIELD类型等待在虚拟机环境中的增多

原文出处:Increased SOS_SCHEDULER_YIELD waits on virtual machines 注: 原文的用词是Increased,想译作增强(增长),或者加强,这么译起来是褒义词,而原文要表达的Increased并没有褒义的含义,最起码是一个中性的含义,想来想起用一个“滋长”偏编译的含义还是比较合适的,感觉还是有点过于贬义了,还是用最通俗的增多吧.个人英语水平有限,另外就是对于文中提到的“rdtsc周期”也不是非常清楚,翻译的也不是很清楚,权当是自娱自乐.总是原文的

《100种过度医疗大公开》:转译自日文版,日文版依据的是美国的“Choosing Wisely”项目。三星推荐

本书转译自日文,日文版则是在美国的“Choosing Wisely”项目中选择了100个相对常见的过度医疗项目做解说.Choosing Wisely项目,是由美国多个专业医学组织发起的列出过度医疗项目的活动. 日文作者是兽医专业的新闻记者,中文译者不是医学专业人员,个别专业词语翻译有误,“随机对照试验”翻译成“随机比较试验”了,有些句子翻译的也比较别扭.基于以上两点,这本书的权威性可信度我认为都不算太高,只能给三星.感兴趣的话还是应该直接上网看英文原版. 以下是书中部分信息的摘抄: 1:以美国内

CTF学习之CODE

今年,国内各种CTF比赛应接不暇,第一次参加CTF是因为百度举办的BCTF.当时和几个好友一起参加了,过程相当的有趣,因此走上了这条不归路. CTF真的是很考验脑力的一个东西,题目涉及的范围相当之广,每次参加CTF我都有一个很强烈的感受:知识完全不够用,还是关掉浏览器滚回去好好学习! 今天,又是SCTF开赛,排行榜上各种大神我等只能膜拜,决心好好学习,系统的学一下,今天先从CODE开始. 我想,在CTF里面比较常见的要属摩斯码了.就是由点和横线组成的特殊符号串.如下图: 图中已经给的很清楚了,对

博译有道——关于外文书籍的翻译

有人说,中国古代曾经被人津津乐道的诸如木流牛马之类的工匠发明和创造之所以没有被后人所重现,是因为创作者只知其术,不懂传道.在门户之见成风,传道授艺大多通过手把手教.口口相传的古代,可想而知像<本草纲目>这样的著作的重要性.同样在今天,无论是原创,还是转载,通过互联网广泛传播碎片化知识的同时,作为系统性的.汇总性的书籍显得颇为难能可贵,即便是将一本国外早已出版的书籍引入到国内出版. 经过长达六个月的付出和守候,由IDF实验室成员翻译.机械工业出版社出版的<Hacking with Kali

[email&#160;protected]一个高效的配置管理工具--Ansible configure management--翻译(六)

无书面许可请勿转载 高级playbook Finding files with variables All modules can take variables as part of their arguments by dereferencing them with {{ and }} . You can use this to load a particular file based on a variable. For example, you might want to select a

CTF中常见Web源码泄露总结

.hg源码泄漏 漏洞成因: hg init的时候会生成.hg e.g.http://www.am0s.com/.hg/ 漏洞利用: 工具:dvcs-ripper rip-hg.pl -v -u http://www.am0s.com/.hg/ .git源码泄漏 漏洞成因: 在运行git init初始化代码库的时候,会在当前目录下面产生一个.git的隐藏文件,用来记录代码的变更记录等等.在发布代码的时候,把.git这个目录没有删除,直接发布了.使用这个文件,可以用来恢复源代码. e.g. http