# 信息安全学习 **Repository Path**: holysheep/security-learning ## Basic Information - **Project Name**: 信息安全学习 - **Description**: 学习路线/记录 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-06-29 - **Last Updated**: 2022-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README isPublish: No Date: 2021-06-07 Monday Category: tag: related: --- > **多读书,多看推送,多学习** ## Week 1 [原文-精简版](https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf) 我的学习过程 ``` graph TD; First[用Typora写md笔记]; T[有人教如何记笔记]; Auto[将md笔记自动生成博客,用hexo]; Blow[笔记过多,爆炸]; Obsidian[使用obsidian管理笔记,使用Zettelkasten 卡片盒笔记法]; Update[寻找笔记管理系统,笔记管理升级]; Final[挑选笔记写成文章放到博客中]; Keep[保持学习Keep Learning] First-->T; T-->|无|Auto; T-->|有|Obsidian; Auto-->Blow; Obsidian-->Final; Blow-->Update; Update-->Final; Final-->Keep; ``` ### 任务: - 学习 Markdown 语法。通过谷歌/百度,以及我附上来的简要文档学习 - 下载 Typora - 注册 Github/Gitee 账户,进入 repository - [Mr-BelieVe/信息安全学习 (gitee.com)](https://gitee.com/holysheep/security-learning) 报告交pdf格式的上传到群文件中。 学习Git 的使用 。简单几种先能使用就行,后续各种操作慢慢自学 1. 打开 CMD 或者 Powershell,进入随便哪个文件夹,执行以下命令( ``` $ ``` 代表最前面的命令提示符): ``` $ git clone https://github.com/mrbelieve128/From_Zero_To_Keep_Learning.git ``` 这样相当于把这个项目保存到当前文件夹 2. 编辑完你的文件之后,执行: ``` $ git add . ``` - `.` 代表当前文件夹 - 这条命令相当于把当前文件夹下 **修改** 过的所有文件添加到 *暂存区* 3. 提交 Commit ``` $ git commit -m "your message" ``` - `-m` 是一个选项(Option),后面跟参数(Argument) - 在这条命令中,`your message` 代表 `-m` 选项的参数,`-m` 是指留言(Message),`--message` 与之等效 - 可以不留言直接 `git commit`,但是团队开发中需要遵循一定的规范。比较著名的规范有来自 [Angular](https://angular.io/) 开发团队的 [commitizen](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines),可自行查阅 4. 推送到代码仓库,这里用的就是 Github ``` $ git push ``` 5. 获取更新 ``` $ git fetch ``` Git 是一个分布式代码托管工具,所以别人也会给这个仓库提交代码,用上述命令从远程仓库获取最新的代码 - 借助 Typora,使用 Markdown 语法的书写第一篇笔记,记录 Git 的常用使用方法等知识点 ### 可选 #### Web方向 搭建以下环境: - Kali - [BurpSuite Pro 2020.9.2 For Windows | 国光](https://www.sqlsec.com/2020/10/winbp.html) - [OWASP Top Ten Web Application Security Risks | OWASP](https://owasp.org/www-project-top-ten/) - [靶场-WebGoat](https://github.com/WebGoat/WebGoat) - [经典靶场-dvwa](http://www.dvwa.co.uk/) 同时可以去 BUUCTF 解题。 靶场给了,具体怎么搭一般项目的 README 文件里都有,不会再问我。 ### 阅读清单 #### 笔记管理方面 - [玩转 Obsidian | 打造知识循环利器 - 少数派](https://sspai.com/post/62414) - [《how to take smart note》中文版](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI1NTA4Nzk5Mw==&action=getalbum&album_id=1464601583634939905) - [玩转 Obsidian | 基础设置篇 - 少数派](https://sspai.com/post/63481) - [玩转 Obsidian | 间歇式日记 - 少数派](https://sspai.com/post/63674) #### 计算机底层方面(长期) - 《计算机组成原理(第2版)》-唐朔飞 - 《深入理解计算机系统(原书第三版)》(长,厚,多) 书可以结合网课看,上完网课再看书补充知识点。记得做笔记。 ## Week 2 **下载请在官网下载**,先看操作系统部分的,网络部分可以往后放放 ### 任务: - 安装Vmware workstation pro 15,激活码自行网上搜索 - 安装 ubuntu 20.04,iso形式安装,了解过程 - ubuntu里面安装docker,安装步骤见官网 - 学习linux操作,包括安装软件(vim、proxychains4,vs code)(换源提升下载速度 - 学习vim和proxychains4的使用 ### 可选: - 安装渗透测试最常用的kali虚拟机 - 学习使用nmap,burpsuite - 阅读linux相关的书籍,了解设计,以及linux和windows的差异 - 读书 ### 阅读清单 linux: 《鸟哥的Linux私房菜:基础学习篇》(第四版) 计算机网络相关: TCP/IP入门经典 [Python教程 -网络编程部分- 廖雪峰的官方网站](https://www.liaoxuefeng.com/wiki/1016959663602400) ## Week3 ### 任务: - 学习linux部分软件操作,vim/vi/nano任选,建议vim。 - 学习vscode的使用,建议使用vsc写python。 - 安装vsc插件,vsc仅仅是个文本编辑器,插件才是灵魂。 - 学习快捷键。包括但不限于windows快捷键、vsc快捷键、游览器(chrome或者edge)、typora快捷键。 > windows快捷键至少有: > > - 切换窗口 > - 隐藏当前窗口 > - 按词往前、往后跳动(Ctrl + left/right) > > vsc: > > - 多行光标 > - 快捷键替换 > > 游览器: > > - 恢复被关闭的页面 > - 切换页面 > > typora: > > - 高亮 > - 加粗 > - 切换标题级别(h1-->h2 或者h2-->h1) ### 可选: - 读书 ### 阅读清单 看以前那些 ## Week 4 - [ ] 学习ssh[SSH 教程 - 网道](https://wangdoc.com/ssh/) - [ ] 学习bash脚本[Bash 脚本教程 - 网道](https://wangdoc.com/bash/index.html),看完变量那部分就差不多了,虽然不常用但是部分还是要学一下 - [ ] 学习sql语言。通过docker安装mysql并在其中创建表,添加信息,删除信息,查询信息,添加外键等。不要求全会,但这基本几个要会。 - [ ] ### 可选: - 读书 ### 阅读清单 看以前那些 ### 知识基础(大一,大二时间多推荐看看) 计算机底层相关: - 《计算机组成原理(第2版)》-唐朔飞 - 《深入理解计算机系统(原书第三版)》(长,厚,多,有空把几个lab也做一下最好) - 《鸟哥的Linux私房菜:基础学习篇》(第四版) - 计算机网络 ## Week 5-9+n 基础漏洞成因 [All learning materials | Web Security Academy (portswigger.net)](https://portswigger.net/web-security/all-materials) [OWASP top10](http://www.owasp.org.cn/owasp-project/OWASPTop102017v1.3.pdf) 按照top10来刷portswigger - sql注入 - 身份认证漏斗 - XML(XXE)外部实体 - 访问控制和权限提升 - 跨站脚本XSS - CORS跨域漏洞 - SSRF服务端请求伪造 - 不安全的反序列化(这个可以稍稍) 选择你的方向:渗透测试,代码审计? 至于攻防,非知攻焉知防. 目标是一专多强.无论哪个方向, 最好有开发能力来写点工具什么的. ### 渗透测试: 入门安全的基础。搞安全的没点基本渗透思路都不好意思出来说自己是搞安全的。 - 建议dvwa,burp实验靶场刷完。 - awvs,xray,goby工具装好,然后去挖挖学校漏洞,挖挖edusrc - 装好阅读RSS的东西,每天抽时间看RSS记笔记 信息收集部分文章参考 - [实战|从零开始的SRC挖掘——如何一洞百分 - FreeBuf网络安全行业门户](https://www.freebuf.com/articles/web/271678.html) ### 代码审计: 代码审计也算是安全领域比较基础的能力。不会代码也可以在安全圈活下去,但是会了代码能够让你在安全圈形成一种降维打击 推荐路线 - 渗透的思路要有 - 基础的java开发 - 找个b站视频学着写一个小网站 - webgot靶场学习分析 - cc链分析 - weglogic系列漏洞分析 - shiro系列漏洞分析 - fastjson系列漏洞分析 - struts2系列漏洞分析 - spring系列漏洞分析 分析完你也就入门了 学习参考: [Java安全 · 语雀](https://www.yuque.com/tianxiadamutou/zcfd4v) ### 内网安全(红队): 学习路线: - 熟练掌握渗透测试 - 目标系统获取(webshell,命令执行) - 提权 - 免杀 - 内网代理 - 内网横向 - 域渗透。 参考书籍: - 《内网安全攻防 渗透测试实战指南》 ### 安全开发: 如果你喜欢安全,又喜欢开发。欢迎去搞安全开发。安全开发需要具备基本渗透测试能力。然后将渗透手法开发工具自动化完成。或者将渗透手法开发工具进行自动化拦截。 目前比较多的就红队工具开发,安全产品开发,甲方安全平台开发等等。 学习路线: - 底层书要看完 - 渗透测试思路 - golang开发学习 - 分析知名开源工具源码 - 二次开发知名开源工具。 ## 附录:Web方向说明 渗透测试, 代码审计,内网安全,安全开发,移动安全 安全是一个极其广泛的领域。有很多不同的分支,大多数人终其一生也很难达到一个分支的顶点,学不完也不用太悲伤,找准一个方向学习就好了。 现在基本都讲究一个一专多能,上面五个方向至少要拿得出手一样,这样才能保证你至少能找到一个工作。其他的了解的越多越好。 以上五个方向的简单了解: 从一个应届生(大三暑假投简历)的角度来看,以上五个方向。 渗透测试,内网安全更偏向乙方厂商(你学好这两个方向去安全厂商(奇安信,360,安恒)实验室的概率更大)。 代码审计,安全开发,移动安全(这三个方向学好至少一个冲一下甲方大厂(阿里,腾讯,字节)不是问题)。 毕业之后的话就都一样,技术好哪都能去。