CTF学习资料总结
网络攻防大作业学习方向思路
一直对CTF比赛有参与的兴趣,但由于课程比较多,一直没有足够的时间系统的去了解与训练。所以我想利用接下来的几周时间对CTF比赛经行练习。并找到自己所擅长或感兴趣的方向深入研究下去,在自己暑假或研二时光可以参加比赛,以赛代练。
CTF 竞赛内容
因为 CTF 的考题范围其实比较宽广,目前也没有太明确的规定界限说会考哪些内容。但是就目前的比赛题型而言的话,主要还是依据常见的
- Web 网络攻防、
- RE 逆向工程、
- Pwn 二进制漏洞利用、
- Crypto 密码攻击、
- Mobile 移动安全
- Misc 安全杂项
- Web - 网络攻防
主要介绍了 Web 安全中常见的漏洞,如 SQL 注入、XSS、CSRF、文件包含、文件上传、代码审计、PHP 弱类型等,Web 安全中常见的题型及解题思路,提供了一些常用的工具。
- Reverse Engineering - 逆向工程
主要介绍了逆向工程中的常见题型、工具平台、解题思路,进阶部分介绍了逆向工程中常见的软件保护、反编译、反调试、加壳脱壳技术。
- Pwn - 二进制漏洞利用
Pwn 题目主要考察二进制漏洞的发掘和利用,需要对计算机操作系统底层有一定的了解。在 CTF 竞赛中,PWN 题目主要出现在 Linux 平台上。
- Crypto - 密码攻击
主要包括古典密码学和现代密码学两部分内容,古典密码学趣味性强,种类繁多,现代密码学安全性高,对算法理解的要求较高。
- Mobile - 移动安全
主要介绍了安卓逆向中的常用工具和主要题型,安卓逆向常常需要一定的安卓开发知识,iOS 逆向题目在 CTF 竞赛中较少出现,因此不作过多介绍。
- Misc - 安全杂项
以诸葛建伟翻译的《线上幽灵:世界头号黑客米特尼克自传》和一些典型 MISC 题为切入点,内容主要包括信息搜集、编码分析、取证分析、隐写分析等。
全国大学生信息安全竞赛 - 竞赛内容
2016 年全国大学生信息安全竞赛开始设立创新实践技能赛,采取的就是传统的 CTF 赛制。在《2016 年全国大学生信息安全竞赛参赛指南》中主办方给出的竞赛内容相对全面,值得参考。
- 系统安全。
涉及操作系统和 Web 系统安全,包括 Web 网站多种语言源代码审计分析(特别是 PHP)、数据库管理和 SQL 操作、Web 漏洞挖掘和利用(如 SQL 注入和 XSS)、服务器提权、编写代码补丁并修复网站漏洞等安全技能。
- 软件逆向。
涉及 Windows/Linux/Android 平台的多种编程技术,要求利用常用工具对源代码及二进制文件进行逆向分析,掌握 Android 移动应用 APK 文件的逆向分析,掌握加解密、内核编程、算法、反调试和代码混淆技术。
- 漏洞挖掘和利用。
掌握 C/C++/Python/PHP/Java/Ruby/汇编 等语言,挖掘 Windows/Linux(x86/x86_64 平台)二进制程序漏洞,掌握缓冲区溢出和格式化字符串攻击,编写并利用 shellcode。
- 密码学原理及应用。
掌握古典密码学和现代密码学,分析密码算法和协议,计算密钥和进行加解密操作。
- 其他内容。
包括信息搜集能力,编程能力、移动安全、云计算安全、可信计算、自主可控、隐写术和信息隐藏、计算机取证(Forensics)技术和文件恢复技能,计算机网络基础以及对网络流量的分析能力。
常规做法:
A方向:PWN+Reverse+Crypto随机搭配
B方向:Web+Misc组合
Misc所有人都可以做
入门知识:
- 都要学的内容:linux基础、计算机组成原理、操作系统原理、网络协议分析
A方向:IDA工具使用(fs插件)、逆向工程、密码学、缓冲区溢出等
B方向:Web安全、网络安全、内网渗透、数据库安全等 前10的安全漏洞
推荐书:
- A方向:
- RE for Beginners
- IDA Pro权威指南
- 揭秘家庭路由器0day漏洞挖掘技术
- 自己定操作系统
- 黑客攻防技术宝典:系统实战篇 有各种系统的逆向讲解
- B方向:
- Web应用安全权威指南 最推荐小白,宏观web安全
- Web前端黑客技术揭秘
- 黑客秘籍——渗透测试实用指南
- 黑客攻防技术宝典 web实战篇 web安全的所有核心基础点,有挑战性,最常规,最全,学好会直线上升
- 代码审计:企业级web代码安全架构
几个重要的参考网站
CTF学习资料总结的更多相关文章
- ref:web security最新学习资料收集
ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-S ...
- webapi的学习资料
猿教程_-webapi教程-WebAPI教程 猿教程_-webapi教程-Web API概述 猿教程_-webapi教程-新建Web Api项目 猿教程_-webapi教程-测试Web API 猿教程 ...
- netty学习资料
netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...
- iOS 开发学习资料整理(持续更新)
“如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿 iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...
- 最新JavaScript、Ajax典藏级学习资料下载分类汇总 (2011年12月21日更新)
其他网站开发相关资料 超强HTML和xhtml,CSS精品学习资料下载汇总 最新htm ...
- VC++/MFC(VC6)开发技术精品学习资料下载汇总
工欲善其事,必先利其器,VC开发MFC Windows程序,Visual C++或Visual Studio是必须的,恩,这里都给你总结好了,拿去吧:VC/MFC开发必备Visual C++.Visu ...
- C/C++编程语言学习资料尽收眼底 电子书+视频教程
Visual C++(VC/MFC)学习电子书及开发工具下载请看这里 史无前例的网络最全最强C/C++资料索引: C/C++编程语言学习资料尽收眼底 电子书+视频教程 VC++/MFC(VC6)开发技 ...
- yaf学习资料
yaf学习资料 文档 鸟哥的官方文档 Yaf框架结合PHPUnit的集成测试 php yaf框架扩展实践六--单元测试.计划任务.第三方库等 php yaf框架扩展实践一--配置篇 yaf实战例子 y ...
- [整理]FPGA学习资料汇总
01.特权同学倾情奉献海量FPGA学习资料 http://pan.baidu.com/s/1pJIb32F
随机推荐
- 较常用的Math方法及ES6中的扩展
记录下与Math有关的常用方法,如:求最大值.最小值等,或者是保留几位数啥的 1.数据 let floatA = 2.325232; let floatB = 2.3456; let temporar ...
- 20145219 《Java程序设计》第09周学习总结
20145219 <Java程序设计>第09周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与接口,应用程序需要联机 ...
- C\C++与Java中的static关键字
C\C++里面的static: 面向过程的static: 在c和c++面向过程的设计里,在全局变量前加上static关键字则可将该变量定义为一个静态全局变量,比如: static int a; 那么c ...
- 实验四Android开发
实验四Java Android简易开发 实验准备 Android Studio 的下载: Android Studio 安装教程 在安装过程中的问题: 在下载了官网上的说明包含sdk的安装包之后找不到 ...
- PAT1051. Pop Sequence (25)
#include <iostream> #include <stack> using namespace std; int sizeMax,n,k; stack<int& ...
- php。。。
我可能不会是一个合格的程序员,因为不够专一,学的种类多,精通的却很少,现在我要做为一个php程序员,专注起航了...接下来半年全力以赴,做出成绩吧. 另外之前的狂刷要一千题也要开始每天更新了,最难的就 ...
- 嵌套的SQL另外一种写法
SELECT a.TradeOrderID 二段交易号 , c.TradeOrderID 一段订单号 , a.BaggingDate AS 出库时间 , a.TransportOrderCode AS ...
- 某些编辑器运行C程序闪退的解决办法
在某些C语言编辑器中运行C语言程序或点击生成的.exe文件出现闪退现象的解决办法,主要有两种,还有其它方法欢迎交流. 包含头文件<windows.h>,在程序末尾添加system(&quo ...
- 编写第一个springboot应用
1.1.1. 设置spring boot的parent <parent> <groupId>org.springframework.boot</groupId> ...
- Java 自定义注解实现ORM对象关系映射
一,ORM概念 ORM即Object Relation Mapping,Object就是对象,Relation就是关系数据库,Mapping映射,就是说Java中的对象和关系数据库中的表存在一种对应关 ...