前言:
想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客
网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。
无论网络、Web、移动、桌面、云等哪个领域,
都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透,
也有 Web 防御技术(WAF)。作为一个合格的网络安全工程师,
应该做到攻守兼备,毕竟知己知彼,才能百战百胜。
一、自学网络安全学习的误区和陷阱
1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习
行为:从编程开始掌握,前端后端、通信协议、什么都学。缺点:花费时间太长、实际向安全过渡后可用到的关键知识并不多。
很多安全函数知识甚至名词都不了解 unserialize outfile
2.不要把深度学习作为入门第一课
很多人都是冲着要把网络安全学好学扎实来的,于是就很容易用力过猛,陷入一个误区:就是把所有的内容都要进行深度学习,但是把深度学习作为网络安全第一课不是个好主意。原因如下:【1】深度学习的黑箱性更加明显,很容易学的囫囵吞枣
【2】深度学习对自身要求高,不适合自学,很容易走进死胡同
3.以黑客技能、兴趣为方向的自学误区:
行为:疯狂搜索安全教程、加入各种小圈子,逢资源就下,逢视频就看,只要是黑客相关的。缺点: 就算在考虑资源质量后的情况下,能学习到的知识点也非常分散,重复性极强。
代码看不懂、讲解听不明白,一知半解的情况时而发生。
在花费大量时间明白后,才发现这个视频讲的内容其实和自己看的其他知识点是一样的。
4.不要收集过多的资料
网上有很多关于网络安全的学习资料,动辄就有几个G的材料可以下载或者观看。而很多朋友都有“收集癖”,一下子购买十几本书,或者收藏几十个视频
网上的学习资料很多重复性都极高而且大多数的内容都还是几年前没有更新。在入门期间建议“小而精”的选择材料,下面我会推荐一些自认为对小白还不错的学习资源,耐心往下看
我的学习心得,我认为能不能自学成功的要素有两点。
第一点就是自身的问题,虽然想要转行学习网络安全的人很多,但是非常强烈的想要转行学好的人是小部分。而大部分人只是抱着试试的心态来学习网安,这是完全不可能的。所以能不能学成网安并且就业,最关键的一点就是自己的愿望是否强烈。我是属于非常强烈那种,因为忍受不了现在工作的氛围,以及羡慕朋友在北京可以拿到2万的月薪,这些因素都促使我非常拼命的学。在加上自身可以做到从下班就开始看视频自学,一直学到晚上12点的这股劲,所以才能在6个月的时间内达到就业的水平。第二点就是有大佬带你,如果全程都靠自己摸索是非常难的,对于一个不是本专业的人来说从开始的时候就“无从下手”。更不要说在学习过程中遇到的无数问题很难得到解决,因为我们在学习过程中会遇到无数问题,有的时候一个小问题就能困扰我们几个小时的时间,会导致我们的学习效率很低,这种情况出现多了以后,信心就会受到打击,觉得自己不适合学网安,最终放弃。而当有一个大佬去给你解答后,你会很快得到答案,并且能理解为什么要这样做,到底是哪里出现了问题,学习效率会非常高。
所以总结就是自身自觉主动学习在加上大佬全程带你,其实学习就是这么简单的事情,无非就是这两个关键的要素,少了其中一个都很难成功。
自学网络安全必须注意的问题:
(1)打好基础
初学者一定要注意打好基础,我之所以只学了6个月就能拿到12K的薪资,就是因为我基础牢固。其实一个初学者在开始的时候能培养出好的基础很难,这源于在整个学习过程中有大佬带我的原因。
(2)交流沟通
切记不要认为自己可以摸索自学成功,能达到一定高度的水平,一定离不开很多专业人的指导,所以多认识一些大佬尤为重要,圈子真的可以决定我们可以达到什么水平。如果大家找不到合适的圈子,我强烈建议大家添加下面的网络安全技术研讨群,多认识几个大佬对于职业生涯有好处。
(3)效率学习
能快尽量快,如果你已经决定要转行学习网安,就千万别拖泥带水,把大部分的精力都投入进来,如果你是那种三天打鱼两天晒网的情况,我劝你尽早的放弃不要浪费时间,有这个时间去锻炼锻炼身体不好吗?
(4)学习心态
一定要抱着决心转行的心态来学,自身的意愿强度决定了你是否能转行成功。
给自学网络安全的初学者的学习建议:
1.了解如今的市场,都需要掌握哪些主要技术就可以快速就业,目前的企业都需要什么人才,这是你学习的方向和目标。2.系统的学习规划:有一个整体学习大纲,要知道自己每天学习什么,做什么练习进行知识巩固,一个阶段学完后应该完成什么项目实战,进行循序渐进的学习,不可以盲目的瞎学。
3.一个大佬的指导:作为一个初学者一定要记得找大佬指导你,即使是花点钱也没关系,只要你能把技术学好就行。自己摸索基本都是弯路,很多人为什么学了一两个月就放弃了,因为他不知道路在哪里,整个人都是迷茫的,自然容易放弃。但如果你有了一个大佬带你,他就会给你做详细的学习计划,给你安排好一切,在整个学习过程中给你解答疑问,你学习起来就会思路清晰,简单效率。
如果需要下面资料,可以点击下面的插件进行获取
网络安全主要的学习内容:
1、基础阶段
中华人民共和国网络安全法 (包含18个知识点)
Linux操作系统 (包含16个知识点)
计算机网络 (包含12个知识点)
SHELL (包含14个知识点)
HTML/CSS (包含44个知识点)
JavaScript (包含41个知识点)
PHP入门 (包含12个知识点)
MySQL数据库 (包含30个知识点)
Python (包含18个知识点)
入门的第一步是系统化的学习计算机基础知识,也就是学习以下这几个基础知识模块:操作系统、协议/网络、数据库、开发语言、常用漏洞原理。
前面的基础知识学完之后,就要进行实操了。
因为互联网与信息化的普及网站系统对外的业务比较多,而且程序员的水平参差不齐和运维人员的配置事物,所以需要掌握的内容比较多。
2、渗透阶段
SQL注入的渗透与防御(包含36个知识点)
XSS相关渗透与防御(包含12个知识点)
上传验证渗透与防御(包含16个知识点)
文件包含渗透与防御(包含12个知识点)
CSRF渗透与防御(包含7个知识点)
SSRF渗透与防御(包含6个知识点)
XXE渗透与防御(包含5个知识点)
远程代码执行渗透与防御(包含7个知识点)
掌握常见漏洞的原理、使用、防御等知识。Web渗透阶段还是需要掌握一些必要的工具。
主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;
3、安全管理(提升)
渗透报告编写(包含21个知识点)
等级保护2.0(包含50个知识点)
应急响应(包含5个知识点)
代码审计(包含8个知识点)
风险评估(包含11个知识点)
安全巡检(包含12个知识点)
数据安全(包含25个知识点)
主要包括渗透报告编写、网络安全等级保护的定级、应急响应、代码审计、风险评估、安全巡检、数据安全、法律法规汇编等。
这一阶段主要针对已经从事网络安全相关工作需要提升进阶成管理层的岗位。
如果你只学习参加工程师方面的岗位,这一阶段可学可不学。
4、提升阶段(提升)
密码学(包含34个知识点)
JavaSE入门(包含92个知识点)
C语言(包含140个知识点)
C++语言(包含181个知识点)
Windows逆向(包含46个知识点)
CTF夺旗赛(包含36个知识点)
Android逆向(包含40个知识点)
主要包括密码学、JavaSE、C语言、C++、Windows逆向、CTF夺旗赛、Android逆向等。
主要针对已经从事网络安全相关工作需要提升进阶安全架构需要提升的知识。
如果你真的想通过自学的方式入门web安全的话,那建议你看看下面这个学习路线图,具体到每个知识点学多久,怎么学,自学时间共计半年左右,亲测有效(文末有惊喜):
网络安全学习资料和教程,关注自动发送
如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,点赞收藏评论区留言“已关注 求 ”!都可以免费分享给大家!等不及的小伙伴也可以直接厚台踢我!或者关注我之后后台会自动发送给大家!关注后大家注意看后台消息就行!
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)
书单推荐:
计算机操作系统:
【1】编码:隐藏在计算机软硬件背后的语言
【2】深入理解操作系统
【3】深入理解windows操作系统
【4】Linux内核与实现
编程开发类:
【1】 windows程序设计
【2】windwos核心变成
【3】Linux程序设计
【4】unix环境高级变成
【5】IOS变成
【6】第一行代码Android
【7】C程序语言设计
【8】C primer plus
【9】C和指针
【10】C专家编程
【11】C陷阱与缺陷
【12】汇编语言(王爽)
【13】java核心技术
【14】java编程思想
【15】Python核心编程
【16】Linuxshell脚本攻略
【17】算法导论
【18】编译原理
【19】编译与反编译技术实战
【20】代码整洁之道
【21】代码大全
【22】TCP/IP详解
【23】Rootkit : 系统灰色地带的潜伏者
【24】黑客攻防技术宝典
【25】加密与解密
【26】C++ 反汇编与逆向分析技术揭秘
【27】web安全测试
【28】白帽子讲web安全
【29】精通脚本黑客
【30】web 前端黑客技术揭秘
【31】程序员的应用
【32】英语写作手册:风格的要素
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。