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

一直对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. netty3---传统IO,NIO,nettyIO

    传统: NIO: nettyIO: 每个服务生负责一个区域,每个服务生是一个线程.

  2. SET 语句积累

    SET IDENTITY_INSERT 表名字 off 注解: 把值插入到自动编号(或者说是标识列,IDENTITY)中去,需要设定 SET IDENTITY_INSERT 语法:SET IDENTI ...

  3. 高亮显示UILabel中的子串

    I. 用户在搜索框中,输入关键字进行检索时,APP对搜索结果进行显示,有以下两种情况: 1. 匹配一次,如检索关键字为人名 这种情况,实现比较容易.写一个UILabel的category, 用rang ...

  4. Hibernate -- 检索方式 HQL

    Hibernate 提供了以下几种检索对象的方式 导航对象图检索方式:  根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的OID 来检索对象 HQL 检索方式:使用面向对象的HQL查询 ...

  5. ps切图步骤

    1.复制图层到新建 2.alt + i + r  裁剪 依次按 3.ctrl + alt + shift + s  保存 裁剪图标  复制到图层 , 删除背景,并复制样式 就可以做到 背景透明.

  6. activity启动模式之singleTop

    activity启动模式之singleTop 一.简介 二.设置方法 在AndroidManifest.xml中将要设置为singleTop启动模式的页面进行配置 <activity andro ...

  7. TextView实现图文混合编排

    TextView实现图文混合编排 一.简介 在这里实现图文混合编排使用的是:TextView中预定义的类似Html的标签 二.方法 * 1.设置好html标签的文本 String html=" ...

  8. os.path.abs()与os.path.realpath()的一点区别

    相同点 1. 两者都是返回绝对路径,如果参数path为空,则返回当前文件所在目录的绝对路径 当前py文件所在的目录是revise print(os.path.abspath("") ...

  9. spring boot MongoDB的集成和使用

    前言 上一章节,简单讲解了如何集成Spring-data-jpa.本章节,我们来看看如何集成NoSQL的Mongodb.mongodb是最早热门非关系数据库的之一,使用也比较普遍.最适合来存储一些非结 ...

  10. oracle数据库查看用户相关语句

    1.查看所有用户:   select * from dba_users;   select * from all_users;   select * from user_users;   2.查看用户 ...