网络安全(黑客)自学

2023-09-21 16:03:56

前言

        我是去年8月22日才正式学习网络安全的,因为在国营单位工作了4年,在广东一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才24周岁,实在的受不了这种工作氛围,情绪已经压制了很多久,一心想着要跳出来,却一直找不到合适的机会。因为身边的朋友有在北京做网络安全的,他工作了四五年的时间,可以在北京拿到2万的月薪,说心里话我是真的羡慕,这远超出了我的认知范围。

       所以经过朋友的推荐,我开始学习网络安全,一共学了大概6个多月的时间,今年的3月6号在广东找到了一份渗透工程师的工作,我包装了一年的工作经验,月薪12K五险一金,这算是成功上岸了。

       在刚开始学习的时候我考虑过去线下培训班,但是我朋友不建议去,因为他就是培训出来的,他和我说去培训班几乎没作用,你去了之后会发现全程都是靠自己自学,老师上完课就走,不如自己看视频学有效率,如果再有一次机会,我绝对不会花3万块钱去培训。因为朋友是过来人,他的建议我不得不听,而且我在网上查了一下,培训班的口碑似乎都不好,这就让我直接放弃了培训的想法。况且3万的培训费用是我不吃不喝半年的工资,确实有点舍不得。

       于是我开始自学,因为有朋友是做这行的,所以自己在开始的时候少走了很多弯路,他给了我很好的建议,所以学习网络安全有个大佬带是尤为重要的。因为做安全的都有一个圈子,所以经过了朋友的引荐,他让我加了他们那个圈子的网络安全技术研讨群。里面大部分都是大佬,在整个学习期间,我在他们这里真的是得到了不少的帮助。因为他们每个人都积累了很多资源,所以平时都是相互分享资源,如果公司有内推就业的名额也会相互推荐工作机会,我的第一份工作就是群里大佬给我推荐的。当然里面也有一些还在学习中的人,这都是朋友相互推荐聚到一起的。所以我建议那些还在学习网络安全的初学者,一定要多结识一些行业内的大佬,可以加一下这个网络安全交流群,对于一个初学者来说可以获得非常多的帮助,平时有一些问题发在群里,他们中有人工作不忙的时候就会出来解答,效率很高而且每个解答都讲解的非常透彻。我之所以能在6个月左右的时间自学网络安全就业,确实是得到了这些大佬不少的帮助。
一起交流的可以点击下方卡片

网安大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享​icon-default.png?t=N7T8https://mp.weixin.qq.com/s/EBmSwFBtsvEk-wy0SDWm7A


我的学习心得,我认为能不能自学成功的要素有两点。

    第一点就是自身的问题,虽然想要转行学习网络安全的人很多,但是非常强烈的想要转行学好的人是小部分。而大部分人只是抱着试试的心态来学习网安,这是完全不可能的。所以能不能学成网安并且就业,最关键的一点就是自己的愿望是否强烈。我是属于非常强烈那种,因为忍受不了现在工作的氛围,以及羡慕朋友在北京可以拿到2万的月薪,这些因素都促使我非常拼命的学。在加上自身可以做到从下班就开始看视频自学,一直学到晚上12点的这股劲,所以才能在6个月的时间内达到就业的水平。

    第二点就是有大佬带你,如果全程都靠自己摸索是非常难的,对于一个不是本专业的人来说从开始的时候就“无从下手”。更不要说在学习过程中遇到的无数问题很难得到解决,因为我们在学习过程中会遇到无数问题,有的时候一个小问题就能困扰我们几个小时的时间,会导致我们的学习效率很低,这种情况出现多了以后,信心就会受到打击,觉得自己不适合学网安,最终放弃。而当有一个大佬去给你解答后,你会很快得到答案,并且能理解为什么要这样做,到底是哪里出现了问题,学习效率会非常高。

所以总结就是自身自觉主动学习在加上大佬全程带你,其实学习就是这么简单的事情,无非就是这两个关键的要素,少了其中一个都很难成功。

自学网络安全必须注意的问题:

(1)打好基础

初学者一定要注意打好基础,我之所以只学了6个月就能拿到12K的薪资,就是因为我基础牢固。其实一个初学者在开始的时候能培养出好的基础很难,这源于在整个学习过程中有大佬带我的原因。

(2)交流沟通

切记不要认为自己可以摸索自学成功,能达到一定高度的水平,一定离不开很多专业人的指导,所以多认识一些大佬尤为重要,圈子真的可以决定我们可以达到什么水平。如果大家找不到合适的圈子,我强烈建议大家添加下面的网络安全技术研讨群,多认识几个大佬对于职业生涯有好处。

(3)效率学习

能快尽量快,如果你已经决定要转行学习网安,就千万别拖泥带水,把大部分的精力都投入进来,如果你是那种三天打鱼两天晒网的情况,我劝你尽早的放弃不要浪费时间,有这个时间去锻炼锻炼身体不好吗?

(4)学习心态

一定要抱着决心转行的心态来学,自身的意愿强度决定了你是否能转行成功。

给自学网络安全的初学者的学习建议:

1.了解如今的市场:都需要掌握哪些主要技术就可以快速就业,目前的企业都需要什么人才,这是你学习的方向和目标。

2.系统的学习规划:有一个整体学习大纲,要知道自己每天学习什么,做什么练习进行知识巩固,一个阶段学完后应该完成什么项目实战,进行循序渐进的学习,不可以盲目的瞎学。

3.一个大佬的指导:作为一个初学者一定要记得找大佬指导你,即使是花点钱也没关系,只要你能把技术学好就行。自己摸索基本都是弯路,很多人为什么学了一两个月就放弃了,因为他不知道路在哪里,整个人都是迷茫的,自然容易放弃。但如果你有了一个大佬带你,他就会给你做详细的学习计划,给你安排好一切,在整个学习过程中给你解答疑问,你学习起来就会思路清晰,简单效率。

如果需要下面资料,可以点击下面的插件进行获取

网安大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享​icon-default.png?t=N7T8https://mp.weixin.qq.com/s/EBmSwFBtsvEk-wy0SDWm7A

常见的技能需要学习:

  •  外围打点能力
  •  钓鱼远控能力
  •  域渗透能力
  •  流量分析能力
  •  漏洞挖掘能力
  •  代码审计能力等
        【一一帮助安全学习,所有资源一一】
        ①网络安全学习路线
        ②20份渗透测试电子书
        ③安全攻防357页笔记
        ④50份安全攻防面试指南
        ⑤安全红队渗透工具包
        ⑥网络安全必备书籍
        ⑦100个漏洞实战案例
        ⑧安全大厂内部视频资源
        ⑨历年CTF夺旗赛题解析
        【一—评论区留言告诉我即可一一】

网络安全的知识多而杂,怎么科学合理安排?

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安全的话,那建议你看看下面这个学习路线图,具体到每个知识点学多久,怎么学,自学时间共计半年左右,亲测有效(文末有惊喜):

    在整理好自己的知识框架,知道该怎么学习之后,下一步就是往框架里面填充内容了。
    此时我们的选择也可以很多,比如CSDN,比如知乎,再比如B站,都有很多人在分享自己的学习资料,但我觉得这里存在的很大一个问题就是不连贯、不完善,大部分免费分享的教程,都是东一块西一块,前言不搭后语,学着学着就蒙了,这是我自学之后的亲身感受。

       如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有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】英语写作手册:风格的要素

特别声明:

        此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

更多推荐

前后端分离毕设项目之springboot同城上门喂遛宠物系统(内含文档+源码+教程)

博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌🍅由于篇幅限制,想要获取完整文章或者源码,或者代做,拉到文章底部即可看到个人VX。🍅2023年-2024年最新计算机毕业设计本科选题大全汇总感兴趣的可以先收藏

如何做好测试?(一)不就是功能测试和性能测试?

测试是软件开发过程中的一项重要活动,旨在评估系统或应用程序的质量、功能、性能、安全性等方面。测试通过执行预定义的测试用例、场景或操作,以发现潜在的错误、缺陷、异常行为或性能问题,并提供有关系统是否满足预期要求的信息。测试的目的是验证软件是否满足规格说明书、需求文档或用户期望的功能和性能要求。它有助于提高软件的可靠性、稳

Clock Domain Crossing Design & Verification Techniques Using System Verilog 学习

重要的设计考虑因素要求仔细构建多时钟设计时钟域交叉(CDC)边界。本文详细介绍了一些最新策略和解决跨CDC边界传递一个或多个信号的最佳已知方法。论文中包含与CDC验证相关的技术和一个有趣的2深FIFO用于在时钟域之间传递多个控制信号的设计。虽然设计方法论文中描述的一般可以使用任何HDL来实现,示例如下使用高效的Syst

前端提交规范 ESLint + Prettier + husky + lint-staged

如何统一代码风格,规范提交呢?推荐使用前端规范全家桶ESLint+Prettier+husky+lint-staged。eslint(github.com/eslint/esli…)JavaScript代码检测工具,检测并提示错误或警告信息prettier(github.com/prettier/pr…)代码自动化格式

Linux_9_网络协议和管理

目录1网络基础1.1网络概念1.2常见的网络物理组件1.3网络应用程序1.3.1各种网络应用1.3.2应用程序对网络的要求1.4网络的特征1.4.1速度(带宽)1.4.2网络拓扑1.5网络1.5.1网络准和分层1.5.2开放系统互联`OSI`1.5.3网络的通信过程1.5.3.1数据封装和数据解封1.5.3.2协议数据

基于知识蒸馏的两阶段去雨去雪去雾模型学习记录(一)

前面完成了基于知识蒸馏的去雨去雪去雾模型大的部署与训练,下面则进行代码的学习。使用debug的方式进行代码的学习。首先是网络结构展示:轻易不要打开,这个模型太复杂了。说到底倒不是多复杂,就是层数太多了Net((conv_input):ConvLayer((reflection_pad):ReflectionPad2d(

【数据结构】&&【C++】封装红黑树模拟实现map和set容器

【数据结构】&&【C++】封装红黑树模拟实现map和set容器一.红黑树的完成二.改造红黑树(泛型适配)三.封装map和set的接口四.实现红黑树迭代器(泛型适配)五.封装map和set的迭代器六.解决key不能修改问题七.实现map[]运算符重载一.红黑树的完成在上一篇红黑树的模拟实现中,已经将红黑树实现完毕,这里不

C语言每日一题(8):有序序列合并

文章主题:有序序列合并🔥🔥🔥所属专栏:C语言每日一题📗作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶个人主页:[₽]的个人主页🏄🌊目录前言编程起因项目介绍项目名项目描述输入描述设计思路1.整体逻辑2.具体逻辑代码展示方法一:集中于一数列的冒泡排序法(速度慢,两行数排列顺序可随机

微生物学检验试剂——博迈伦

微生物学检验试剂是用于微生物学实验室中进行微生物检测和分析的特定化学试剂。这些试剂通常用于培养、鉴定和检测微生物,以确定其类型、数量和特性。以下是关于微生物学检验试剂的一些重要信息:1.分类:-培养基:微生物培养基是用于滋养和培育微生物的基础介质。不同类型的微生物需要不同的培养基,如富集培养基、选择培养基、差异培养基等

【网络层】IP协议

文章目录IP协议1.前提认识(1)IP的定位和作用(2)IP地址的构成(3)基本概念2.协议头格式(1)两个核心问题3.网段划分(重要)(1)为什么要网段划分(2)概念(3)子网划分方案(4)模拟子网划分4.特殊的IP地址5.IP地址的数量限制6.私有IP地址和公网IP地址7.路由及路由表(0)感性理解(1)路由(2)

vue学习-07todoList案例与浏览器本地存储

TodoListTodoList(任务列表)是一个简单的Web应用程序示例,用于管理任务、代办事项或清单。Vue.js是一个非常适合构建这种类型应用程序的框架,因为它提供了数据绑定、组件化、响应式和轻松管理用户界面的能力。以下是一个基本的Vue.jsTodoList的示例:任务列表显示:在Vue.js中,你可以使用数据

热文推荐