2020寒假训练计划

 

今天是2019年的最后一天了,按照计划。应当对Python有了初步了解,Linux基础操作比较熟悉。

是时候分一下方向了,首先看看各个方向该学些什么。

Web

PHP

在Web通常是以代码审计、PHP各种协议、特性等等情况出现。基础要求是看懂题中的PHP代码,然后要对题目中常见绕过方法有了解。因此,PHP语言上,要学习到面对对象,能了解PHP序列化和反序列化及各种魔法方法。还要多刷题,了解题目的一些常见的考点,针对考点学习。

SQL

要学习SQL注入首先要会SQL的基础语法,SQL语法比较简单,看一遍W3CSchool菜鸟教程就能会,还可以在LeetCode上数据库部分刷几道SQL的题来巩固一下。数据库注入还需要了解的是像MySQL这样的数据库,学习数据库可以看《MySQL必知必会》,百度就能下载到PDF。然后这时,就可以开始了解SQL注入的原理,了解常见的注入手段及常见限制手段,然后在各大OJ上刷题,了解常见过滤绕过方法。

XSS

首先得了解JavaScript,可以先看看廖雪峰的JS教程。了解JS后,需要知道XSS是怎样产生的,知道常见的过滤方式及绕过方式。

常见Web渗透方式

常见的包括CSRF、SSRF、XSRF、XXE等等,可以百度一下尝试去了解一下。

这类题实战性比较强,可以在刷题时遇到时练习。

其他Web框架

像这一类题通常会采用Python的一些Web框架,如Flask、Tornado、Django等等这涉及到对这些框架的了解程度。可以尝试去了解学习这些框架,了解这些框架的开发部署方式即可。如Flask 会有沙箱逃逸漏洞等等

 

PWN、Reverse

前置知识:

熟练C语言

  这个没啥好说的,可以在PTA等等OJ练习C语言,练习时可以看看各个头文件中有哪些函数,诸如stdlib.h、stdio.h等等。可以在菜鸟教程里面看到各个函数及其用法。

汇编语言

  推荐看王爽《汇编语言》这本书,每章节后面都有相应的习题。完成这本书就算入门汇编语言了。

熟悉Linux操作

PWN的做题环境都在Linux。因此任何环境配置、Linux基础操作都不能成为做题的障碍。

Python

Python主要在PWN中写攻击脚本,能写简单脚本就行

 

总之先掌握这些前置知识再开始刷题吧

 

Misc

上图就完事了

Misc

Crypto

对称加密(Symmetric Cryptography),以 DES,AES,RC4 为代表。

非对称加密(Asymmetric Cryptography),以 RSA,ElGamal,椭圆曲线加密为代表。

哈希函数(Hash Function),以 MD5,SHA-1,SHA-512 等为代表。

数字签名(Digital Signature),以 RSA 签名,ElGamal 签名,DSA 签名为代表。

 

总之包括这些方面,一般入门从非对称加密的RSA开始。,入门密码学可以百度学习RSA。

 RSA题目可以从jarvisOJ开始,分别是Basic分类里的VeryEasy_Rsa开始最后到Crypto分类里的God Like RSA这几个难度。

其中RSA题目需要使用Python2相关库gmpy2及Crypto库

 

最后

说了这么多,那么这个寒假的任务是什么呢?

  • 选择一个你想学习的方向
  • 如果你想学习Web方向,至少PHP学习到面对对象部分,明白SQL注入是怎么一回事,要开始做一定量的题目
  • 如果你想学习PWN/Reverse方向,至少学习完汇编语言及其他前置知识
  • 不管是Web方向还是PWN/Reverse方向,都可以对照安全杂项(Misc)的图去学学,提高学习兴趣(很多杂项上的知识都是日常有应用的)
  • 在几个CTF—OJ注册账号(可别真就只是注册账号,也要刷几道题)

CTF说到底是信息安全的比赛,可以多多关注一下信息安全相关消息 如 FreeBuf

附OJ

  Bugku
   南邮CG-CTF 
   浙大Jarvis OJ 
      攻防世界 
   i春秋

原文地址:https://www.cnblogs.com/harson/p/12127150.html