零基础小白如何入门网络安全?

news/2024/11/20 7:13:11/

我经常会看到这一类的问题:

  • 学习XXX知识没效果;

  • 学习XXX技能没方向;

  • 学习XXX没办法入门;

给大家一个忠告,如果你完全没有基础的话,前期最好不要盲目去找资料学习,因为大部分人把资料收集好之后,基本上都是放在收藏夹吃灰,同时资料收集的多了,学起来就会迷茫,也会让自己很有压力。

磨刀不误砍柴工,如果你是准备自学的话,要分步骤去进行:

第一步:搭建自学知识框架,具体怎么搭建学习框架,在后面我会讲;

第二步:按照学习框架给自己定制阶段性的学习计划和目标,最好是按周自我反馈和调整;

第三步:针对每周的学习计划寻找合适的自学资源,注意,只找当前需要的,不要贪多

第四步:找几个懂得人,和他们处理好关系,后面学习过程中遇到问题还能有人给你解答;

这些都要一步一步来,不要想着一口气吃成一个大胖子。

搭建学习框架也是有诀窍的,比如我常用的三种方式:

  1. 和牛人成为朋友,身边的朋友或公司的同事都可以,但要注意,记得请人家吃饭联络好感情,不然到关键时刻,很少有人会去帮你;

  2. 从各个博客网站上面搜索想了解的知识点路线图,然后找高赞的博文,基本上不会差,但要注意辨别真伪;

  3. 多找几个培训机构,看他们整理的课程大纲是什么样的,涉及哪些知识点,然后做归类汇总,具体的我就不说了,免得让大家认为我在给培训机构打广告;

学习网络安全方向会遇到哪些问题?

1.打基础的时间长

学基础花费了很长的时间,光学语言都有好几门,有的人会止步于学习linux系统及命令的路上,更多的人会停在学习语言上面;

2.知识点掌握的不够清楚

对于网络安全基础内容,很多人不清楚到底需要学到什么程度,导致在基础上花费了太多的时间;很多同学,买了HTML,PHP,数据库,计算机网络

等书籍,每本还很厚,很多写得也很深,却发现越学越没自信,别人学个PHP或者数据库就可以找到工作,而网络安全要学这么多,越来越怀疑自己到底是不是选错了方向;

3.知识点不清楚重点

很多同学花费了很大精力学完了基础内容,但是发现很多知识和后续网络安全关联不大,没有分清重点,浪费了很多的时间;

4.知识点学习不够系统

看到很多同学在b站找了好多学习视频,也到别的平台购买了一些小课,百度云盘上也有1-2T的学习资料和视频内容,但每学完一类都需要花费不少的时间,且内容很多有重复性,学完SQL注入后,后面又看到另一家讲这个SQL注入,还不错,又会去学习一遍,发现学完所有web漏洞原理后,自己还是不太确定自己是否把Web漏洞这块的知识点学全了没有,导致自己到底学没学完都不知道;

5.自己解决问题的能力不足

对于初学者来说,很多人都会自己搭建一些靶场,但是由于配置环境的原因,耽误的时间会很多,尤其对于初学者碰到连续3个问题无法解决的时候,很容易放弃;对于一些动手能力较差的同学,这块可能会直接影响到继续学习的信心;

6.实战水平不足

对于学网络安全,渗透测试方向的技术,其实很大程度上学习的就是“黑客”技术,通过学习怎么进攻和入侵,才能够更清楚系统和应用怎么去防御;而这块也恰恰是网络安全的核心,如果光有理论,实战经验少,也是较难去就业;在平时学习中,除了可以搭建一些开源的靶场用于练习,最好还是要有真实漏洞组成的靶场用于学习,当然也可以去SRC平台去渗透测试一些真实网站(一定要获得授权才可以渗透真实网站),但是难度发现又比较大,很多初学者会丧失信心,怀疑自己的能力;

7.内网的学习困难比较大

Web渗透这块的资料在互联网各各平台到处都是,学习起来相对较为轻松,但是内网这块的资料在互联网平台上面相对较少,能够借鉴的资料不多,另外也需要有相应的靶场配合练习,才能有技术上的提高和经验的积累,学习难度会比较大。

废话不多说,先上一张图镇楼,看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西。

【一>所有资源获取,点击这里<一】
1、很多已经买不到的绝版电子书
2、安全大厂内部的培训资料
3、全套工具包
4、100份src源码技术文档
5、网络安全基础入门、Linux、web安全、攻防方面的视频
6、应急响应笔记 7、 网络安全学习路线
8、ctf夺旗赛解析
9、WEB安全入门笔记​

我们落到具体的技术点上来,网络安全学习路线,整体学习时间大概半年左右,具体视每个人的情况而定。

如果你把每周要学的内容精细化到这种程度,你还会担心学不会,入不了门吗,其实说到底就是学了两个月,但都是东学一下,西学一下,什么内容都是浅尝辄止,没有深入进去,所以才会有学了2个月,入不了门这种感受。

1、Web安全相关概念(2周)

  • 熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等);

  • 通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;

  • 阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;

  • 看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);

2、熟悉渗透相关工具(3周)

  • 熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用;

  • 了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;

  • 下载无后门版的这些软件进行安装;

  • 学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;

  • 待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;

3、渗透实战操作(5周)

掌握渗透的整个阶段并能够独立渗透小型站点。 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);

  • 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;

  • 思考渗透主要分为几个阶段,每个阶段需要做那些工作;

  • 研究SQL注入的种类、注入原理、手动注入技巧;

  • 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等;

  • 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki;

  • 研究Windows/Linux提权的方法和具体使用;

4、关注安全圈动态(1周)

  • 关注安全圈的最新漏洞、安全事件与技术文章;

  • 通过SecWiki浏览每日的安全技术文章/事件;

  • 通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;

  • 通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;

  • 养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;

  • 多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。

  • 关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference;

5、熟悉Windows/Kali Linux(3周)

  • 学习Windows/Kali Linux基本命令、常用工具;

  • 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill

  • 等;

  • 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;

  • 熟悉Kali Linux系统下的常用工具,可以参考SecWiki《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;

  • 熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》;

6、服务器安全配置(3周)

  • 学习服务器环境配置,并能通过思考发现配置存在的安全问题;

  • Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,;

  • Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;

  • 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;

  • 配置软件Waf加强系统安全,在服务器配置mod_security等系统;

  • 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁;

7、脚本编程学习(4周)

  • 选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习;

  • 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

  • Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;

  • 用Python编写漏洞的exp,然后写一个简单的网络爬虫;

  • PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;

  • 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);

  • 了解Bootstrap的布局或者CSS;

8、源码审计与漏洞分析(3周)

  • 能独立分析脚本源码程序并发现安全问题。

  • 熟悉源码审计的动态和静态方法,并知道如何去分析程序;

  • 从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;

  • 了解Web漏洞的形成原因,然后通过关键字进行查找分析;

  • 研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

9、安全体系设计与开发(5周)

  • 能建立自己的安全体系,并能提出一些安全建议或者系统架构。

  • 开发一些实用的安全小工具并开源,体现个人实力;

  • 建立自己的安全体系,对公司安全有自己的一些认识和见解;

  • 提出或者加入大型安全系统的架构或者开发;

这个路线图已经详细到每周要学什么内容,学到什么程度,可以说我整理的这个网络安全路线图对新人是非常友好的,除此之外,我还给团队小伙伴整理了相对应的学习资料,需要的小伙伴可以留言。

 


http://www.ppmy.cn/news/34818.html

相关文章

leetcode每日一题:134. 加油站

系列&#xff1a;贪心算法 语言&#xff1a;java 题目来源&#xff1a;Leetcode134. 加油站 题目 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[…

Reids中的有序集合Zset

有序集合&#xff08;ZSet&#xff09; 文章目录有序集合&#xff08;ZSet&#xff09;常用命令zaddzrevrangezrangezrangebyscore/zrevrangebyscorezscorezcardzremzincrbyzcountzmpopzrank /zrevrank常用命令 命令作用zadd key score member添加元素zrevrange key start sto…

【Java集合面试宝典】HashMap的put流程和特性?HashMap的扩容机制?原理— day08

目录 数组和链表分别适用于什么场景&#xff0c;为什么&#xff1f; 数组 链表 List和Set的区别 List和Map、Set的区别 HashMap 、HashTable 和TreeMap有什么区别&#xff1f; hashmap的特性 HashMap和HashTable有什么区别&#xff1f;&#xff08;必会&#xff09; J…

服务端测试知识汇总

目录 服务端测试思想 经济学⻆度 ⾦字塔模型 技术⻆度 HTTP协议 三次握⼿ HTTP完整请求 通信模式 URI信息 请求⽅法 请求状态码 请求/响应头 常⽤请求数据格式 COOKIE请求流程 SESSION请求流程 TOKEN请求流程 API测试维度 单接⼝测试 多个接⼝测试 …

UEngine 运行器帮助

UEngine 运行器帮助 帮助简述 安装APK&#xff1a;点浏览按钮&#xff0c;选中需要安装的APK&#xff0c;然后点安装按钮 卸载APK&#xff1a;在卸载APK下面的输入框内输入需要卸载的APK包名&#xff0c;点卸载按钮&#xff0c;如果无法获取包名&#xff0c;可以通过浏览APK文件…

给准备面试网络工程师岗位的应届生一些建议

你听完这个故事&#xff0c;应该会有所收获。最近有一个23届毕业的大学生和我聊天&#xff0c;他现在网络工程专业大四&#xff0c;因为今年6、7月份的时候毕业&#xff0c;所以现在面临找工作的问题。不管是现在找一份实习工作&#xff0c;还是毕业后找一份正式工作&#xff0…

钉钉发送消息 java

1、完成钉钉认证才能使用此功能 2、需要登录控制台进行创建应用操作 https://open-dev.dingtalk.com/fe/app 3、需要设置 权限范围及通讯录权限设置 参考 https://www.ngui.cc/el/778161.html?actiononClick pom <dependency><groupId>com.aliyun</groupId&g…

Springboot怎么实现WebSocket通信(二)

前言上一篇文章分享了单机模式下&#xff0c;websocket的基本使用方法&#xff0c;但在实际的业务中&#xff0c;通常是不会这样使用的&#xff0c;大部项目都是分布式部署的&#xff0c;一个工程布署了多个服务节点&#xff0c;前端并不直接请求具体服务节点&#xff0c;而是先…