网络攻防大作业学习方向思路

一直对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 Wiki

CTF入门指南

CTF学习资料总结的更多相关文章

  1. ref:web security最新学习资料收集

    ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-S ...

  2. webapi的学习资料

    猿教程_-webapi教程-WebAPI教程 猿教程_-webapi教程-Web API概述 猿教程_-webapi教程-新建Web Api项目 猿教程_-webapi教程-测试Web API 猿教程 ...

  3. netty学习资料

    netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...

  4. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

  5. 最新JavaScript、Ajax典藏级学习资料下载分类汇总 (2011年12月21日更新)

    其他网站开发相关资料            超强HTML和xhtml,CSS精品学习资料下载汇总                                               最新htm ...

  6. VC++/MFC(VC6)开发技术精品学习资料下载汇总

    工欲善其事,必先利其器,VC开发MFC Windows程序,Visual C++或Visual Studio是必须的,恩,这里都给你总结好了,拿去吧:VC/MFC开发必备Visual C++.Visu ...

  7. C/C++编程语言学习资料尽收眼底 电子书+视频教程

    Visual C++(VC/MFC)学习电子书及开发工具下载请看这里 史无前例的网络最全最强C/C++资料索引: C/C++编程语言学习资料尽收眼底 电子书+视频教程 VC++/MFC(VC6)开发技 ...

  8. yaf学习资料

    yaf学习资料 文档 鸟哥的官方文档 Yaf框架结合PHPUnit的集成测试 php yaf框架扩展实践六--单元测试.计划任务.第三方库等 php yaf框架扩展实践一--配置篇 yaf实战例子 y ...

  9. [整理]FPGA学习资料汇总

    01.特权同学倾情奉献海量FPGA学习资料 http://pan.baidu.com/s/1pJIb32F

随机推荐

  1. mybatis 复习笔记02

    1. 一对一查询: 1). 实体类: 2). 定义resultMap <!-- 订单查询关联用户的resultMap 将整个查询的结果映射到cn.itcast.mybatis.po.Orders ...

  2. 系统OOM复位定位

    定位OOM的工具: 1.多次收集Thread Dump信息kill -3  PID通过对比分析heap 对象信息和Thread信息来定位 2.通过 -Xloggc:D:/gc.log  -XX:+He ...

  3. JDK1.8之Stream

    为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 ...

  4. Zabbix linux agent 安装

    系统:Linux Centos 7.3 x64 服务:Zabbix_agent 3.0.16 一.安装Zabbix_agent 服务 1.安装zabbix 3.0 yum源 rpm -ivh http ...

  5. angularjs Dom方式访问疑似可以访问ifame结构项目

    一.定位需要访问控制器元素 var currObj = document.querySelector('[ng-controller="munuListCtrl"]'); 或者 v ...

  6. dubbo用户指南-总结

    dubbo用户指南-总结 入门 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用 ...

  7. AtCoder Regular Contest 099

    AtCoder Regular Contest 099 C - Minimization 题意 题意:给出一个n的排列.每次操作可以使一段长度为K的连续子序列变成该序列的最小数.求最少几次使得整个数列 ...

  8. Android中Fragment的Hide和Show

    我们都知道,Fragment动态添加的时候我们可以使用FragmentTransaction的add和replace方法,replace方法就等效于对这个Fragment先执行remove(),再执行 ...

  9. JQuery -- 介绍,选择器及其示例, 基本选择器,层次选择器,过滤选择器,表单选择器

    1. 什么是jQuery对象 jQuery 对象就是通过jQuery包装DOM对象后产生的对象. jQuery对象是jQuery独有的.如果一个对象是jQuery对象,那么它就可以使用jQuery里的 ...

  10. MyEclipse安装aptana插件, 8.5之前版本 和 之后版本, MyEclipse10安装aptana

    MyEclipse8.5安装aptana插件说明: 1.在myeclipse的安装目录下,有个common文件夹,建一个myplugIns,此目录下建aptana_update_024747目录 2. ...