总结

  1. 起始阶段选择一本书,一种教程去学习就可以了,千万不要变成搜集爱好者
  2. 多轮迭代去学习,遇到难点就跳过去,不要执着。回头再来。
  3. 学会看目录,整理知识要点。
  4. 把编程变成核心
  5. 练习,练习,再练习
  6. 编程是一门分水岭,选一门感兴趣的脚本语言学习,建议python

第一阶段

  1. 以 kali linux 为基础,把系统中所有工具按照分类都大致过一遍,如信息搜集、漏洞分析、漏洞攻击、密码攻击、无线攻击等等。
  2. 开始动手实践的时候,选一本 Kali的教材,相关书籍很多,选一本就够用,其他相关知识点,结合搜索引擎做扩展即可。
  3. 搭建靶机环境,选择一个网上流行的训练环境(需要能查到题解答案的),推荐 DVWA 和 DVWS。训练目标为熟练使用工具或者手工安装渗透测试基本流程完成对目标漏洞的攻击。
  4. 在原理理解层面,需要理解浏览器/服务器应用的基本架构
  5. 理解各个阶级各种工具完成任务的概念及作用
  6. 掌握基本的攻击方法和流程
  7. 理解各种漏洞基本原理。这个时候希望大家尽可能多做一些运维相关的任务,从安装服务器操作系统开始,到配置基本的 Web 服务器(比如配置 Nginx 支持动静态网站),手动大家 DNS 服务器,安装流行的数据库,下载流行的 CMS 部署到自己的实验环境中。
  8. 此时我们虽然不会编写 Web 站点,但是下载一个CMS,按部就班的搭建一个网站还是可以的,这有助于我们理解网站的基本架构,以及 Web 服务程序、Web应用代码、数据库等是如何组织在一起给用户提供功能的。

第二阶段

通过第一个迭代,我们可以利用工具完成一些简单的渗透测试任务了。有些工具的高级用法可能被你跳过去了,这个时候可以回头看看了。

  1. 另外是是时候学学 TCP/IP 体系结构了,同时重点学习 HTTP 协议。
  2. 对常用工具的原理多查找资料,去学习,从协议的角度去分析工具。
  3. 这一阶段的核心是编程入门,建议选一本经典的 Python 编程的入门书籍,你大致浏览的全书的内容之后,给自己定一个大概两个月的学习内容,先粗略的筛掉不好理解的东西。熟练掌握Python的使用技巧和众多常用的第三方库

第三阶段

  1. 这一迭代的核心是黑客编程入门,Web 开发基础
  2. 黑客编程找一本浅显的 Python 黑客编程的书籍来继续训练
  3. 自己搭建环境进行实战渗透测试
  4. 关注众多exp并熟练掌握运用技巧

参考资料

  1. 入门指南