文档偶尔更新,如果发现链接失效或内容错误,欢迎通过 issue 告诉我
安全知识点非常多也非常杂,要想掌握必须花费大量时间,如果仅仅看了文章、复制粘贴记个笔记、收藏了某个POC就认为自己会了,懂了,这种浅尝辄止到头来还是坑自己,一定要动手实践。
美团的这篇技术文章写的非常好 工作中如何做好技术积累 下面这段是其中的一部分,分享给大家
古人云:“纸上得来终觉浅,绝知此事要躬行。” 学习领域有所谓721模型:个人的成长70%来自于岗位实践,20%来自向他人学习,10%来自于培训。虽然这种理论存在争议,但对于工程师们来说,按照实践、学习和培训的方式进行重要性排序,大致是不错的。所以重视实践,在实践中成长是最重要的学习原则。
人类的认知有两种:感性认知和理性认知。这两种认知互相不可替代性。实践很大程度来自于感性学习,看书更像是理性学习。以学开汽车做例子,很难想象什么人能够仅仅通过学习书本知识就会开汽车。
书本知识主要是传道——讲述抽象原型,而对其具体应用场景的讲述往往含糊其辞,对抽象原型之间的关系也是浅尝辄止。采用同样精确的语言去描述应用场景和关联关系将会失去重点,让人摸不着头脑。所以,仅仅通过看书来获得成长就像是用一条腿走路。
重视实践,充分运用感性认知潜能,在项目中磨炼自己,才是正确的学习之道。在实践中,在某些关键动作上刻意练习,也会取得事半功倍的效果。
下面我将以安全工程师的角度来构建一个基本的学习路线图,由于我个人偏 web+misc 所以不包含逆向内容,请见谅
如果您擅长 逆向、pwn、mobile安全 或其他安全相关技能 且提供了相关教程或博客、笔记等,欢迎提交 pr 一起构建 roadmap
基本功很重要
-
虚拟机使用 - 学会安装、使用虚拟机,明白VMware几种网络连接的区别
- 略
-
如何科学上网 - 懂得都懂
- 略
-
Markdown 语法 - 学会记笔记也很重要
- 略
-
字符编码 - 没啥好说的,基本功
- 略
-
git 及 github 的使用 - 多参与开源项目可以快速提高开发水平
-
数据类型的处理
- xml
- json
-
正则 - 了解正则语法
-
python - 掌握语法,能够编写POC,能够按需求修改exp
- 略
-
dotnet
- 暂时还没学完 : )
-
java
- 暂时还没学完 : )
-
php
- 暂时还没学完 : )
-
Linux 是啥
-
Linux 基础命令
-
Linux 服务搭建 - 起码要学会怎么搭建 httpd、nginx
-
Docker 使用 - 必须要掌握的,可以节约你大量时间
- TCP/IP 模型 - 需要明白什么是IP、MAC,各层的常见协议有哪些分别什么作用
- 略
-
Windows 下常用命令
-
Windows 服务器能干啥
-
HTTP 协议
- 略
-
html+js
- 略
-
web 基础漏洞
-
web 逻辑漏洞
-
靶场 - 如果有空闲时间可以打打靶场练习
-
各类通用漏洞利用
-
OOB
-
JWT
- 暂时还没学完 : )
-
linux 权限、文件
-
linux 提权、漏洞利用
-
linux lol
-
windows 认证体系
-
windows 提权、漏洞利用
-
windows lol
-
windows rdp 利用
-
windows 凭证抓取
-
linux 提权
-
windows 提权
-
第三方软件提权
-
工作组、域是什么、如何搭建域环境
-
Kerberos
-
域凭证抓取
-
域控提权
-
pth/k/t
-
Exchange