CTF入门指南1(Capture the flag)
来源:互联网 发布:淘宝的标品与非标品 编辑:程序博客网 时间:2024/06/08 16:02
英文教程:https://trailofbits.github.io/ctf/intro/careers.html
1、逆向工程
建议你得到一个IDA Pro的副本,这有免费版和学生认证书。尝试下crack me的问题。写出你的C语言代码,然后进行反编译。重复这个过程,同时更改编译器的选项和程序逻辑。在编译的二进制文件中“if”声明和“select”语句有什么不同?我建议你专注于一个单一的原始架构:x86、x86_64或是ARM。在处理器手册中查找你要找的,参考有:
《Practical Reverse Engineering》
《Reversing: Secrets of Reverse Engineering》
《The IDA Pro Book》
2、加密。
虽然这不是我自己的强项,但这里有一些参考还是要看看的:
《Applied Cryptography》
《Practical Cryptography》
Cryptography I
3、ACM编程
选择一个高层次的语言,我推荐使用Python或Ruby。对于Python而言,阅读下《Dive into Python》和找一些你要加入的项目。值得一提的是Metasploit是用Ruby编写的。关于算法和数据结构的计算机科学课也要在此类中要走很长的路。看看来自CTF和其他编程的挑战,战胜他们。专注于创建一个解决方法而不是最快或是最好的方法,特别是在你刚刚开始的时候。
4、web漏洞
有很多的网络编程技术,在CTF中最流行的就是PHP和SQL。php.net网站(译者注:需翻墙)是一个梦幻的语言参考,只要搜索你好奇的功能。PHP之后,看到网页上存在的挑战的最常见的方法就是使用Python或Ruby脚本。主要到技术有重叠,这有一本关于网络安全漏洞的好书,是《黑客攻防技术宝典:Web实战篇》。除此之外,在学习了一些基本技术之后,你可能也想通过比较流行的免费软件工具来取得一些经验。这些在CTF竞争中也可能会偶尔用到,这些加密会和你凭经验得到的加密重叠。
5、二进制练习
建议你在进入二进制练习前要完成逆向工程的学习。这有几个你可以独立学习的常见类型漏洞:栈溢出,堆溢出,对于初学者的格式字符串漏洞。很多是通过练习思维来辨别漏洞的类型。学习以往的漏洞是进入二进制门槛的最好途径。推荐你可以阅读:
《黑客:漏洞发掘的艺术》
《黑客攻防技术宝典:系统实战篇》
《The Art of Software Security Assessment》
6、取证/网络
大多数的CTF团队往往有“一个”负责取证的人。我不是那种人,但是我建议你学习如何使用010 hex editor,不要怕做出荒谬、疯狂、随机的猜测这些问题运行的结果是怎样。
- CTF入门指南1(Capture the flag)
- ZOJ 3879 Capture the Flag(模拟)
- ZOJ 3879 Capture the Flag
- zoj 3879 Capture the Flag(长模拟)
- zoj 3879 Capture the Flag(模拟 数学)
- ctf入门指南
- ZOJ3879:Capture the Flag(浙江省赛2015)
- ZOJ 3879 — Capture the Flag
- 【模拟】 ZOJ 3879 Capture the Flag
- Capture the Flag 浙江省赛K题
- ZOJ 2879 Capture the Flag (模拟题)
- CTF中Web找Flag题目(1)
- ZOJ - 3879 Capture the Flag (模拟)题意难懂的水题
- The 2007 International Capture The Flag in UCSB
- zoj Capture the Flag 比较难的模拟题
- 第十二届浙江省大学生程序设计大赛-Capture the Flag
- ZOJ-3879-Capture the Flag【模拟】【12th浙江省赛】
- CTF入门(转载)
- java基础——关于异步任务串行执行的思考与实现
- 线段树总结!
- 这是个巧妙的表达式: a ˆ= b ˆ= a ˆ= b 它不需要临时变量就可 以交换 a 和 b 的值。
- AttributeSet 自定义控件的一般步骤
- malloc了多个结构体长度的内存后,怎样操作每个结构体
- CTF入门指南1(Capture the flag)
- MTK 功能机 创建我的应用
- 【985系列】985的红绿灯难题
- Android Studio安装与使用
- photoshop cs6中画虚线的设置
- Android Studio自动生成带系统签名的apk
- Struts 1 & 2
- 正则化学习总结
- Volley的使用