关于我
我算是“入行”不久的一个新人安全工作者,为什么是引号呢,因为我是个“半个野路子”出身。早在13年的时候,我在初中时期就已经在90sec、wooyun等社区一直学习、报告漏洞。后来由于升学的压力,我逐渐淡出了安全圈子,也没有继续学习技术。
也因为这个原因,高考选择专业时,对计算机专业情有独钟,因为分数线的原因最后只能选了个通信工程。
大四那年我被骗到了电子厂,无法忍受流水线的工作,愤而撩了挑子。前途一片渺茫的时候,我连夜爬起自学起了网络安全,开启了我的网络安全开发之路。至今已毕业多年,一直在这条热爱的道路上坚持着,快乐、知足、感恩。
接下来给大家详细介绍,我是如何成功入门网络安全,成了一个安服仔的?
网络安全学习计划
(1)基础部分
基础部分需要学习以下内容:
我看的书籍其实书籍是非常系统的,也比较适合入门初学者,这些书可以让我掌握这个领域的基本内容,当然了时效性可能不会很高。我建议选择看哪个方面的书,不要人云亦云,肯定很多人让你学操作系统原理,学算法等等,这其实是不符合学习规律的,学什么就找对应的书籍学习。下面是我当时读的的几本书籍。
(1.1)计算机及系统原理
《编码:隐匿在计算机软硬件背后的语言》 【美】Charles Petzold·
《深入理解计算机系统》【美】Randal E.Bryant·
《深入解析Windows操作系统》【美】Russinovich,M.E.;Solomon,D.A.·
《深入理解Android内核设计思想》林学森·
《Android系统源代码情景分析》罗升阳·
(1.2)计算机网络 :
重点学习 OSI、TCP/IP 模型,网络协议,网络设备工作原理等内容,其他内容快速通读;
(1.3)Linux 系统及命令 :
由于目前市面上的 Web 服务器 7 成都是运行在 Linux 系统之上,如果要学习渗透 Web 系统,最起码还是要对 linux 系统非常熟悉,常见的操作命令需要学会;推荐这本《深入理解Linux内核》 【美】DanielP.Bovet· 《Linux内核设计与实现》【美】Robert Love·
学习建议:学习常见的 10%左右的命令适用于 90%的工作场景,和 office 软件一样,掌握最常用的 10%的功能,基本日常使用没什么问题,遇到不会的,再去找度娘;常见的 linux 命令也就 50-60 个,很多小白囫囵吞枣什么命令都学,发现记不住啊!!!!这个学习方法也是不对的;
(1.4)Web 框架 :
熟悉 web 框架的内容,前端 HTML,JS 等脚本语言了解即可,后端 PHP 语言重点学习,切记不要按照开发的思路去学习语言,php 最低要求会读懂代码即可,当然会写最好,但不是开发,但不是开发,但不是开发,重要的事情说三遍;
(1.5)数据库:
需要学习 SQL 语法,利用常见的数据库 MySQL 学习对应的数据库语法,也是一样,SQL 的一些些高级语法可以了解,如果没有时间完全不学也不影响后续学习,毕竟大家不是做数据库分析师,不需要学太深;
(2)学习一门编程语言
黑客&网络安全工程师的武器也是代码。想要成为黑客或者网络安全工程师,首先要学会一门黑客需要的编程语言。
对于没有代码经验的小白,下面三项,是从事安全行业的从业者都最好能掌握的语言,锤炼一下自己编程的功底。
Shell脚本
掌握常用的Linux命令,能编写简单的Shell脚本,处理一些简单的事务。
C语言(C++可选)
C语言没有复杂的特性,是现代编程语言的祖师爷,适合编写底层软件,还能帮助你理解内存、算法、操作系统等计算机知识,建议学一下。
Python
C语言帮助你理解底层,如果你还不会任何计算机语言,我建议你从Python开始。它设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。它非常强大,灵活,也适合做大型项目。
(3)学习网络安全法
《国家网络空间安全战略》、《网络安全法》、《网络安全等级保护3.0》等一系列政策/法规/标准的持续落地,网络安全产业从小众产业逐步发展成为国家战略性新兴产业,与人工智能、大数据、云计算等领域并驾齐驱。
网络安全对于大部分政企单位来说,已经从可选项变成了必选项甚至是强选项,不懂安全不做安全等于违法违规。
我觉得作为一个技术人员了解和学习黑客知识是必要的,因为这样才能在日常工作中应对安全风险,在较高的安全意识上完成编程和运维工作;当然,如果你能成功掌握了一些黑客原理和技术,当你遇到攻击时,也不仅仅是严防死守,而是抓住内鬼,反将一军。
技术本身并不罪恶,滥用技术才会导致罪恶!
(4)安全初体验
有了前面三步的打底,是时候接触一些网络安全的技术了,刚刚开始这个阶段,仍然不要把自己圈起来只学某一个方向的技术。这个阶段,我的建议是:但当涉猎,见往事耳。
网络协议攻击、Web服务攻击、浏览器安全、漏洞攻击、逆向破解、工具开发都去接触一下,知道这是做什么的,在这个过程中去发现自己的兴趣,让自己对网络安全各种领域的技术都有一个初步的认识。以下是常见的web渗透使用工具方法。
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
零基础想入门网络安全该如何学习?
网络安全学习路线
接下来我将分享一份CSDN官方认证的 《【282G】网络安全零基础入门学习资料包》 ,需要的小伙伴可以扫描下方二维码免费领取哦!
第一阶段:基础操作入门,学习基础知识
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在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&黑客技术文档
黑客工具合集
所有上述资料免费领取,为什么不给你自己一个机会呢?
这一份CSDN官方认证的 《【282G】网络安全零基础入门学习资料包》 ,需要的小伙伴可以扫描下方二维码免费领取哦!