之所以写这篇文章呢,是觉得大时代的发展,我们这个专业越来越受到重视了,所以,也想以自己的一些拙见,能帮到想入门网络安全的朋友
1.关于网上的培训
如果你想快速获得知识,培训无疑是最快最有效的捷径,第一.讲的东西很肤浅,自学很快的。第二.价格很高.第三.讲师讲的终是他的理解,你无法有自己学的那么深刻,导致后面学的东西无法迭代已经适应新的东西,人话总结,不管是web,还是内网,还是代码审计,ctf。
2.自学
这是很难的,你才入门一个方向,什么都不知道,什么都想学,但是又不知道花时间去学习什么,学了有没有用,就算有用,我他妈怎么知道我学的怎么样。我一个一个说
花时间去学习什么?
要回答这个问题,我们要大致清楚网络安全&渗透有哪些方向,举个列子
比如我想学习网络攻防,那么我需要了解web常见的一些漏洞,比如sql注入,xss漏洞,ssrf漏洞,还要掌握信息收集对吧,还有一些工具的使用对吧,比如burpsuit,sqlmap,xray等工具这是最最基础的。如果想要进一步提高,可能需要掌握一些基础的代码,比如php执行命令的代码被禁用了怎么绕,php的一些反序列化,简单的代码分析,审计。漏洞的深度利用,比如上传怎么绕过,waf怎么对抗,最新出现的漏洞的复现,拥有渗透最核心的思路,在基础漏洞上不断变化。如果还想继续提高,需要拥有足够的经验,看见陌生的cms推测是有xxx二次改的,审计代码,研究一个方向寻找0day,跟随目前安全攻防的大方向,原来是注入很火,到现在的各类反序列化,java的漏洞(shiro,fastjson),内存马能跟随大方向研究,并且有自己的见解。
那么我从入门开始学习,就要学习owasp top10的漏洞,自己找环境复现,明白原理,然后操作即可,然后找一些存在问题的cms,自己搭环境浮现,平时多看看论坛,比如安全客,先知,t00ls等论坛。有人就会问,那么我js学不学,html学不学,网络协议学不学。首先是网上很多傻逼跟你说要学,我只想说,学个鸡8,关于js,渗透中的作用无非是看网页的js寻找信息,一些密码加解密,亦或者是存在xss,我们可以根据js来弹框钓鱼,且github上有源码,你学他干嘛?当我们达到一定的级别,会有一些项目驱动你去学习,但是当你到达这种级别时,你中途历练的过程,就隐隐约约让你大致了解这个语言的框架了。至于html,我用的最多的就是有一些cms可能存在后门(上传),或者存在csrf,需要我们自己构造html,csrf用burpsuit即可,唯一html需要稍微学习一下submit,网络协议,当你用burpsuit抓包,代理会接触这方面的内容,至于tcp什么握手的,攻防基本用不到,什么arp欺骗,真的用不上,至于内网,需要不断的积累,自己搭环境,一步一步来。因为我自己就是0基础学习攻防,谈的都是我自己的见解。当然,这是攻防的案列,还有许多方向。
比如逆向,搞二进制的(pwn,漏洞研究/挖掘,写马),搞apt的,做安服的(也分为驻场,网络攻防,安全研究),安全运营的(基本甲方偏多,企业安全建设),安全产品的(ids,edr,防火墙等),重保等保等方向
网络安全学习路线
第一阶段:基础操作入门,学习基础知识
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。
在这个阶段,你已经对网络安全有了基本的了解。如果你学完了第一步,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!
所谓的“打地基”其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备5个基础知识模块:
1.操作系统
2.协议/网络
3.数据库
4.开发语言
5.常见漏洞原理
学习这些基础知识有什么用呢?
计算机各领域的知识水平决定你渗透水平的上限。
【1】比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;
【2】比如:你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;
【3】比如:你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;
【4】再比如你操作系统玩的好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息
第二阶段:实战操作
1.挖SRC
挖SRC的目的主要是讲技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而SRC是一个非常好的技能应用机会。
2.从技术分享帖(漏洞挖掘类型)学习
观看学习近十年所有0day挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维
3.靶场练习
自己搭建靶场或者去免费的靶场网站练习,有条件的话可以去购买或者报靠谱的培训机构,一般就有配套的靶场练习
第三阶段:参加CTF比赛或者HVV行动
推荐:CTF比赛
CTF有三点:
【1】接近实战的机会。现在网络安全法很严格,不像之前大家能瞎搞
【2】题目紧跟技术前沿,而书籍很多落后了
【3】如果是大学生的话,以后对找工作也很有帮助
如果你想打CTF比赛,直接去看赛题,赛题看不懂,根据不懂的地方接着去看资料
推荐:HVV(护网)
HVV有四点:
【1】也能极大的锻炼你,提高自身的技术,最好是参加每年举行的HVV行动
【2】能认识许多圈内的大佬,扩大你的人脉
【3】HVV的工资也很高,所以参加的话也能让你赚到不少钱
【4】和CTF比赛一样如果是大学生的话,以后对找工作也很有帮助
四、学习资料的推荐
书单推荐:
计算机操作系统:
【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】英语写作手册:风格的要素
常见的网络安全及论坛
看雪论坛
安全课
安全牛
安全内参
绿盟
先知社区
XCTF联盟
我下面也给大家整理了一些网络安全的资料,大家不想一个一个去找的话,可以参考一下这些资料哈
视频教程
SRC&黑客技术文档
黑客工具合集