进来先点个赞,评个论,关个注呗~
笔者在学习Web安全的过程中,深切地感受到相关的知识浩如烟海,而且很大一部分知识点都相对零散,如果没有相对清晰的脉络作为参考,会给学习带来一些不必要的负担。
因此,在对Web安全有了浅薄的了解之后,尝试把一些知识、想法整理记录下来,分享出来,希望能够为正在入门的网络安全爱好者提供一定的帮助。
自学为主,遵循学习路线和规划,每一步都配备对应的学习笔记、学习资料、书籍和精选视频。
在没有人指路的情况下想入门渗透测试,会踩很多坑,浪费很多不必要的时间,甚至可能中途而废,感到懊恼不已。
学习效果很大程度上看你自己有多强的求知欲、兴趣,愿意投入多少时间和精力学习,以及有足够的耐心按照给出的路线学习大量基础知识、铺垫知识。
只为网络安全爱好者提供一个便捷的学习交流平台,不得将技术用于任何非法活动,一切后果责任自负。详见:《中华人民共和国网络安全法》和《刑法》有关条目。
1.渗透基础篇(系统层、服务层、中间件、数据层、脚本层、静态层、网络基础、环境搭建)
2.WEB安全篇(OWASP TOP10漏洞挖掘、getshell相关、渗透测试工具使用、WAF绕过)
3.Kali Linux(安装使用、MSF使用、常用kali工具)
4.实战渗透测试笔记
5.PHP代码审计
6.实用安全书籍和渗透文章
7.渗透测试工具库和常用镜像
可参考这个大纲:
1. 序章
1. Web技术演化
2. 网络攻防技术演化
3. 安全观
2. 计算机网络与协议
1. 网络基础
2. UDP协议
3. TCP协议
4. 路由算法
5. 域名系统
6. HTTP标准
7. HTTPS
8. SSL/TLS
9. IPsec
10. Wi-Fi
3. 信息收集
1. 网络整体架构
2. 域名信息
3. 端口信息
4. 站点信息
5. 搜索引擎利用
6. 社会工程学
4. 常见漏洞攻防
1. SQL注入
2. XSS
3. CSRF
4. SSRF
5. 命令注入
6. 目录穿越
7. 文件读取
8. 文件上传
9. 文件包含
10. XXE
11. 模版注入
12. Xpath注入
13. 逻辑漏洞 / 业务漏洞
14. 配置安全
15. 中间件
16. Web Cache欺骗攻击
17. HTTP 请求走私
5. 语言与框架
1. PHP
2. Python
3. Java
4. JavaScript
5. Golang
6. Ruby
7. ASP
8. PowerShell
9. Shell
6. 内网渗透
1. 信息收集 - Windows
2. 持久化 - Windows
3. 痕迹清理 - Windows
4. 域渗透
5. 信息收集 - Linux
6. 持久化 - Linux
7. 痕迹清理 - Linux
8. 后门技术
9. 综合技巧
10. 参考链接
7. 防御技术
1. 团队建设
2. 安全开发
3. 威胁情报
4. ATT&CK
5. 风险控制
6. 防御框架
7. 加固检查
8. 入侵检测
9. 蜜罐技术
10. RASP
11. 应急响应
12. 溯源分析
8. 认证机制
1. SSO
2. JWT
3. OAuth
4. SAML
5. Windows
6. Kerberos
7. NTLM 身份验证
9. 工具与资源
1. 推荐资源
2. 相关论文
3. 信息收集
4. 社会工程学
5. 模糊测试
6. 漏洞利用
7. 近源渗透
8. Web持久化
9. 横向移动
10. 操作系统持久化
11. 审计工具
12. 防御
13. 运维
14. 其他
10. 手册速查
1. 爆破工具
2. 下载工具
3. 流量相关
4. 嗅探工具
5. SQLMap使用
11. 其他
1. 代码审计
2. WAF
3. Unicode
4. 拒绝服务攻击
5. Docker
6. APT
7. 近源渗透
1.零基础能学吗?
可以,这是专门为零基础和具有一定基础但学的比较杂的朋友定制的,不要有太多担心和负担,只要按照路线,主动学习、耐心学习、积极学习,一定能有所得、有所成。
2.英语和数学不好,能学吗?
完全可以,不用有这方面的疑虑,很多高手都是原来没多少英语和数学基础的,与学历无关,最重要的是动力、兴趣、耐心。
3.电脑硬件要求?
一般的家用台式机或笔记本足够了,运行内存建议8G以上,方便多开虚拟机,5年前的机型基本都能满足要求。
获取更多学习资料、想加入社群、深入学习,请扫我的二维码或加Memory20000427。
有些粉丝对安全这条路很迷茫,不知道以后能干什么,有那些就业方向,前景怎么样。
作为过来人和你们一样曾经有过这些疑问,而且学习安全时候,最先接触的也是Kai Linux,平时也比较忙,构思了很久,说实话安全这个话题实在是太大了,我就简单的谈谈我个人的经验。
你为什么学安全?
其实很多人都有一个黑客梦,觉得黑客无所不能相当酷。所以想学学,可以为所欲为?
实际上是这样吗?当然不是?不少人就真的是入门到放弃了。而学安全的都是大黑阔?当然不是,毕竟理想很丰满。和其他职业一样,学安全也是为了生活,为了赚钱而已,当兴趣爱好变成职业、工作之后,有时会觉得无趣。
Kali Linux是什么?
相信你们也或多或少的看过,我也不过多解释,当初我就是学安全牛那个 Kali Linux入门的,讲解的相当不错。Kali Linux里面集成了相当多的工具,但是只是个工具,做安全或者说渗透重点不是Kai。很多工具 Windows上也是可以使用的,毕竟电脑里面装个虚拟机跑Ka还是很占用内存的。
安全有那些方向?前景怎么样?
这是很多初学者关心的话题。安全的范围相当的广,我们常常接触听到的网络安全其实和今天我说的安全不是一个概念。
今天讲的安全实际上是本科阶段所讲的信息安全,而到了研究生阶段,就是网络空间安全这也是近年来常常被提起的词。
网络空间安全最先是由国外提出的,英文名为:Cyberspace Security。
简单点来说信息安全和网络安全的关系就是包含和被包含的关系:
信息安全包括网络安全,信息安全还包括操作系统安全,数据库安全,硬件设备和设施安全,物理安全,人员安全,软件开发,应用安全等。
网络安全侧重于研究网络环境下的计算机安全,信息安全侧重于计算机数据和信息的安全。
而网络空间安全则包括这两者,因学习者所处阶段不同,学习内容也不同,所以就业方向也有所不同。
就业方向一般由以下几种
网络安全工程师的就业职位有网络安全工程师、网络安全分析师数据恢复工程师、网络构架工程师、网络集成工程师、网络安全编程工程师等
信息安全工程师就业职位有系统安全工程师、网络系统安全软件工程师、信息安全工程师、渗透测试工程师等
安全方向的前景嘛,
当然是很有钱景的。国家越来越重视网络空间安全,未来对安全需求很大。每年国家组织的hvv行动,需要大量安全专业人员,人手不够的情况下,很多学生也参与进去。
工资相当高,根据个人水平而定,往往不会低于1000元/天,大部分企业还包吃住,即使会一点安全的也能拿到这个工资。而对于正常应届毕业生来说技术不高的情况下本科、专科也能拿到8000元/月的薪资,对于有两年经验的拿到15000元/月的工资也很正常,相对于计算机其他专业方向,这两年信息安全方向的工资一直很高。
这个也不是我吹牛逼的,每年的高校就业调查里面都有数据。对于安全从业者来说还有个好处就是学历要求低,现在好一点的企业基本上都是要求本科以上,双一流名校什么的,但是安全不一样。
一方面安全方向人才紧缺,而开设信息安全专业的学校又少。另一方面从事安全方向的人员也不多。很对对于学历要求高的政府、事业单位、银行、国企等,在安全招聘上也大幅降低要求,对学校层次要求降的很低。就目前来看,入坑安全还是很有前景的
安全的学习哪些东西?我该如何入门?
(重点)
这真的就是一个入门到放弃的问题。很多人学习安全都是狗咬刺猬无从下口,学着学着就坚持不下去了,慢慢就放弃了。要学的东西很多,任何一个方向都能学习一两年,甚至终身都在硏究。比如密码学。然而绝大部分安全从业者来说,都是接触不到这些的,我们做的大部分都是应用,不是做研究。
看了这张图你是不是害怕了?但是,这只是黑客入门最基础的内容。
那么对于非计算机专业或者计算机非信息安全方向的就很难入坑安全吗?
安全学习难度是有,前端、后端、网络、密码学等等都要有所涉及,但不是要求你全会,大都是了解,不可能一口吃个胖子。对于几乎所有的安全从业者,当初入门都是从Web安全开始,之后有人走内网渗透方向,有人走二进制安全,逆向破解方向。而这三个方向也是很多初学这想学的,可以挖漏洞,赚钱又装逼。
简单介绍一下最常学习的三个技术方向,对于想入门安全的来说,就学学Web安全,然后挖几个漏洞,找点自信继续学习。不然就入门到放弃了
Web安全
Web安全应该算是最简单的了,后面学习深入了你会发现,想要挖高危的0day漏洞,对于渗透测试人员要求是相当高的。对于Web安全要学习的基础知识相当简单一些主要包括前端的HTM、CSS、JavaScript等,后端最好要会开发网站,不会的话只能做个初级的工具小子。后端语言到了中级渗透阶段一般都是要会使用Python,主要学习Python爬虫和网络编程方向。如果会Java或者PHP,可以做代码审计的工作;除此之外还需要有数据库基础,一般来说学得都是MySQL数据库。Web安全涉及到的漏洞主要有注入、命令执行、代码执行、XSS、CSRF、SSRF、JSON劫持、弱口令、越权访问等等,不在一一列举。
内网安全
我不知道对于初学者知不知道内网和外网这个概念。如果分不清内外网,建议百度一些哈,这里不在细讲。Web安全可以简单的看成是外网渗透。
外网更侧重于找漏洞寻找突破口,而内网更侧重于你对目标的熟悉程度。举个简单的例子:我们如果把渗透测试想象成要去取“目标”家里保险柜里“核心物资”。那么外网渗透就是第一关——突破大门限制,成功进入“目标”家里。想要突破这些限制,这个时候我们肯定要寻找一下主人家防守不到位的地方:比如厨房是不是窗户没关,保安是不是半夜十二点就会开始划水等等。综合素质很强的白帽会收集这些“漏洞”,综合多方因素,利用天时地利人和,突破限制,闯入“内网”。所以可以看到,外网渗透阶段,考验的是白帽综合能力,想要进入内网可是一个很难的过程。能力很强的你,如果已经能够进入“内网”,那新的这一个阶段对你的要求又有所不同。这个阶段会更加考验你是否对作战环境足够熟悉,对目标的情况是否了然于胸,能够知道哪里有设置摄像头,哪里有敏感信息,哪里有红外线探测,做到在重重关卡下成功拿到信息并且全身而退。两个阶段对于渗透测试人员的能力要求各不相同,单纯去讨论他俩,谁更难谁更简单,也是毫无意义。
二进制安全
在大部分人眼里,所谓的黑客,安全研究者指的就是研究渗透入侵一类的技术的从业者,并不知道什么是逆向工程或者说二进制安全。提起逆向工程也许还有人可以联想到软件破解,如果提起的是二进制安全,那么知道的人就真的是寥寥无几了。
其实二进制安全和逆向是有些区别,但我为什么把它们放在一起呢,是因为我觉得它们要学的东西都很底层,要学汇编语言,C/C++这些比较老的编程语言。而且难度相比于其他的要高得多。对于做二进制安全或者逆向的小伙伴来说,要对计算机组成原理和操作系统有较好的基础。
逆向主要是破解,其中涉及到加解密技术,和密码学有些关系。而二进制漏洞主要分为:栈溢出、堆溢出、整数溢出、格式化字符串、双重释放、释放重引用、数组访问越界、内核级、类型混淆、沙盒逃逸以及PRC等。总之玩这个的都是高段位的选手,工资也是相当的高。