小白怎么系统的自学计算机科学和黑客技术?
我把csdn上有关自学网络安全、零基础入门网络安全的回答大致都浏览了一遍,最大的感受就是“太复杂”,新手看了之后只会更迷茫,还是不知道如何去做,所以站在新手的角度去写回答,应该把回答写的简单易懂,“傻瓜式”的一步步告诉他们应该怎么去做
在文章的后半部分,我会把一套完整的教学视频发给大家直接学。
1、安全基础(Linux+MySQL+Python)
网络安全这个行业对于编程开发这一块还是有一定要求的,举个简单的例子,你如果想渗透某个网站,那你首先要知道如何去开发一个网站,你连最基本的sql语句都不会写,那又何谈去做sql注入呢。
所以对各种网络通信协议,对密码学,对前后端,数据库,服务器,shell脚本等内容没有一定的了解,又怎么可能成为一个优秀的hacker呢。
要想控制一个人,首先你要了解他,你才能知道他的弱点,最后才能施展你的手段。
但无论哪个过程,都需要花费很长的时间与精力去学习与钻研。

上面这部分是学习网络安全必备的基础,这部分内容没有多大难度,也没有任何的逻辑性难度,只要多练多看,这部分内容就是熟能生巧的事情。
2、安全入门(黑客工具+漏洞挖掘)
有了前面的计算机网络和编程基础,这一阶段就可以来正式入门网络安全了。
网络安全领域内几大典型的攻击手法:SQL注入、XSS、CSRF、SSRF、文件上传漏洞等等,每一个都需要详细学习,一边学习理论,一边动手实践。

对了,在这里友情提示一下:
千万注意别拿互联网上的网站来攻击学习!
千万注意别拿互联网上的网站来攻击学习!
千万注意别拿互联网上的网站来攻击学习!
这是违法的行为,重要的事情说三遍。
在学习的过程中,你自己可以在虚拟机中搭建一些包含漏洞的网站,拿自己建的网站练手,具体的实战靶场,我在后面也会给大家进行讲解。

除了这些攻击方法,这个时候我们也需要对常用渗透工具有一些简单的了解,这也是大部分同学非常感兴趣的一个版块,因为学会这些工具的使用,就可以晋升成为一个脚本小子了。
包含AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。
了解该类工具的用途和使用场景,先用软件名字Google/百度,然后下载无后门版的这些软件进行安装;
确立目标:找一份15K的网络安全岗位工作
如果你只是想成为一个脚本小子或学着随便玩玩,就不需要再往下看了。下面的内容是写给想要从事网络安全工作人看的,还需要至少学习3个月的时间才能完成。
我在最上面说过对于新手来说,对他们最友好的方式就是给他们一套从零基础学习最完整的视频教程,然后告诉他们:你只需要把这教程的全部内容都学会,把所有的作业、案例、项目都用代码写出来,你就可以找到一份网络安全的工作。这样是对于新手最简单粗暴的方式,如果我们写的过于专业,他们只会越看越迷茫,对于新手来说就是越简单越好,傻瓜式的学习最有效果。
3、安全进阶(内网渗透+DDos攻防+社会工程学)
前面学习了一些Web安全的攻击手法,但光有这些还不够,当我们有流量攻击目标后,如何寻找攻击点,获取目标的信息至关重要。

这些信息包括:目标运行了什么操作系统,开放了哪些端口,运行了哪些服务,后端服务是什么类型,版本信息是什么等等,有哪些漏洞可以利用,只有获取到了这些信息,才能有针对性的制定攻击手段。
除此之外,外网环境和内网环境是不一样的,别到时候从外面渗透,进到里面之后傻眼了,因此收集内部信息的技巧也是重中之重,比如渗透测试架构和windows密码凭证收集等等。
真正意义上的网络渗透,我觉得应该不只是使用一些现成的工具,去挖一些上古时代的漏洞,而是拥有很强大的自学和分析、解决问题能力,再调用十八般武艺去攻破某个站点。里面不乏自己编写写脚本与工具,自己发现新的攻击注入方式。
4、核心能力(安全管理+逆向免杀+代码审计)
到了安全攻防的后期阶段,想成为一个安全高手,绝不只是固步自封在自己擅长的领域,需要多学习网络安全的其他领域,拓展自己的知识面。

比如等级保护、应急响应、风险评估、逆向免杀、代码审计、二进制漏洞攻击、木马技术、内核安全、移动安全、侧信道攻击等等,当然在学习的时候,不用像专业方向的同学那么深入,但需要涉猎了解,丰富自己的知识面,构建全方位的网路安全知识技能栈。
5、小结
网络安全要学习的内容非常多非常杂,我以前写过一篇关于网络安全技术知识点的文章,下面评论的人都说内容太多了,根本就学不完之类的话。后来我吸取了教训,对于新手一定要简单粗暴,不能太过于复杂,越是复杂新手看的越迷茫。所以我这次写的内容是精简,初步入行学习这些内容就足够了。
6、大多数人必然会放弃:
这件事情,或者说这个职业。首先你得初衷不能是因为赚钱,因为太容易走歪了,黑产盛行,巨大的利益不断诱惑着通往技术的心,圈内这种沉不下心来浮躁的环境影响了太多的人,当初一起的朋友,现在还有在里面没出来的。
网络安全涉及的方面太广,对于我们来讲,不是因为这是个工作,而是因为浓厚的求知欲,浓厚的兴趣所引导。
而没有浓厚的兴趣引导很容易半途而废,原因大部分在于,这个东西并不是想象中的那么美好,学的东西太多 且枯燥 你要承担短时间内没有回报的结果,这很容易让人放弃。
当然你决心要学的话,我想还是得先学习网络基础,网络交互原理。最好先把TCP/IP啃一遍。有了基础再学习漏洞原理,然后学一门语言 来拓扑漏洞的存在原理,到后期可以自己写工具。由浅入深,知其然知其所以然。
7、如何找工作?
学习网络安全我建议在北京、上海、杭州、深圳这样的一线或新一线城市去找,发展一般的城市网络安全很难有立足之地,想要达到月薪30K以上,只能选择这些城市。
去招聘网站投简历肯定是机会最多的一种方式,但很多人的简历写的很差,所以写简历也是—门技术。
只要简历写的好,就有很多的面试机会,面试50家还拿不到10家offer吗?到时候工作就随便你找,前提也是技术能力过关。
还有一种方式就是通过别人介绍,其实在到后来,有了5年工作经验以后,就不需要投简历自己去找,如果你是一个优秀的程序员,就会有很多猎头去挖你。
目前这市场上的网络安全人员虽然多,但真正能称得上比较优秀的很少。所以多认识一些猎头或者HR,给自己以后铺路,这都是需要提前准备的,说白了能靠关系尽量靠关系。
如果你在大公司里面有认识的人,那么你想要进去就会方便很多,给你一个内推的机会,只要能过了技术这关,就进本能拿到offer。
找工作能往大厂进就去大厂,大厂福利待遇好,而且工资都稳定,不会出现发不出工资的情况。有了大厂的工作背景和项目背景后,以后在跳槽其他公司都会被疯抢,就不会在担心找不到工作的问题。
8、总结
以上就是我对刚入行网络安全的朋友的一些个人的建议,最后有一点需要说明一下:
上面列举到的不同方向的技术不是严格意义独立的,相反,很多时候是相辅相成,需要结合起来,融会贯通。
每个人的认知是有限的,我也不例外。本篇回答只是我的一家之言,建议大家多看一些人的总结和经验,横向对比,兼听则明,偏听则暗。
如果你想通过自学进入网络安全这一行,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,大部分我都看过,感觉还不错,如果需要的话可以评论区告诉我,或者点击蓝色字体获取奥





如果觉得有帮助的话,可以帮我点赞收藏一下,写的不对或不清楚的地方,也欢迎大家在评论区指出,谢谢!
相关文章:

小白怎么系统的自学计算机科学和黑客技术?
我把csdn上有关自学网络安全、零基础入门网络安全的回答大致都浏览了一遍,最大的感受就是“太复杂”,新手看了之后只会更迷茫,还是不知道如何去做,所以站在新手的角度去写回答,应该把回答写的简单易懂,“傻…...

scheduler 的使用实验对比和总结(PyTorch)
这篇文章是在完成 HW02 的过程中所产生的,是关于各 scheduler (ReduceLROnPlateau(),CosineAnnealingLR(),CosineAnnealingWarmRestarts())使用的对比实验。 起因是为了在 Kaggle 上跑出更高的成绩,但结果确…...

vue2 虚拟列表(优化版)
作用: 虚拟列表是优化长列表的一种手段,防止列表存在过多的dom元素导致页面卡顿(包扣移动端下拉到底加载下一页这种列表加载的dom元素多了一样会卡)。 原理: 如上图简单地说就是以 <div classlist-view">作…...

从应用层到MCU,看Windows处理键盘输入 [1.在应用层调试Notepad.exe (按键消费者)]
文本编辑器/文本编辑框是应用层常见的键盘处理程序。微软泄露的WinXP源码下有文本编辑器Notepad的实现:Microsoft_leaked_source_code\nt5src\Source\XPSP1\NT\shell\osshell\accesory\notepad文本编辑器的实现并不复杂,微软又(被迫)提供了Sample&#x…...

什么是大数据?大数据能做什么
大数据发现现在如火如荼,也吸引了很多有志人士想要加入这个行业,但是在正式入行之前了解大数据是什么以及能做什么是非常重要的~ 下面我们一起来看一下~ 比较官方的定义是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合ÿ…...

Git 和 GitHub 超入门指南(四)
Git基本命令 以下是一些基本的Git命令: git add:将文件添加到Git索引中git commit:将索引中的文件提交到Git仓库中git status:查看工作目录和索引的状态git log:查看提交历史记录 Git高级命令 以下是一些高级的Git…...

Java 响应式编程 Reactor 框架
文章目录 Java 响应式编程 Reactor 框架FluxMono其它的关键对象Java 响应式编程 Reactor 框架 Reactor框架的核心理念是基于响应式编程的异步流处理。这意味着应用程序可以通过异步事件流来处理请求,而不是通过传统的同步请求-响应模型。在响应式编程中, 应用程序可以处理多个…...

Hazel引擎学习(十一)
我自己维护引擎的github地址在这里,里面加了不少注释,有需要的可以看看 参考视频链接在这里 很高兴的是,引擎的开发终于慢慢开始往深了走了,前几章的引擎UI搭建着实是有点折磨人,根据课程,接下来的引擎开发…...

深度学习(22):如何判断训练过程中深度学习模型损失值不再下降
2023年3月22日,与 chatGPT 的沟通如何判断训练过程中深度学习模型损失值不再下降在深度学习中,判断模型是否收敛是非常重要的,这可以通过监控模型损失值来实现。一般来说,当训练模型的损失值不再下降,我们就可以认为模…...

一个比较全面的C#公共帮助类
上次跟大家推荐过2个C#开发工具箱:《推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类》、《推荐一个.Net常用代码集合,助你高效完成业务》。 今天再给大家推荐一个,这几个部分代码功能有重合的部分,大家可以根…...

人脸识别经典网络-MTCNN(含Python源码实现)
人脸检测-mtcnn 本文参加新星计划人工智能赛道:https://bbs.csdn.net/topics/613989052 文章目录人脸检测-mtcnn1. 人脸检测1.1 人脸检测概述1.2 人脸检测的难点1.3 人脸检测的应用场景2. mtcnn2.1 mtcnn概述2.2 mtcnn的网络结构2.3 图像金字塔2.4 P-Net2.5 R-Net2…...

OpenCV入门(十八)快速学会OpenCV 17 直线检测
OpenCV入门(十八)快速学会OpenCV 17 直线检测1.霍夫直线变换概述2.霍夫变换原理3.操作实例3.1 HoughLines函数3.2 HoughLinesP函数作者:Xiou 1.霍夫直线变换概述 霍夫变换是一种在图像中寻找直线、圆形以及其他简单形状的方法。霍夫变换采用…...

nginx快速入门.跟学B站nginx一小时精讲课程笔记
nginx快速入门.跟学B站nginx一小时精讲课程笔记nginx简介及环境准备nginx简介环境准备一、nginx 安装1.使用yum安装2.常用命令3.使用systemctl启动、停止、重新加载4.配置文件5.配置文件结构二、配置静态web1.静态网页配置2.listen监听3.server_name4.location三、HTTP反向代理…...

内存泄漏定位工具之 valgrind
内存泄漏检测工具 文章目录内存泄漏检测工具一、valgrind介绍1. memcheck2. cachegrind3. helgrind二、源码下载三、命令操作1.memcheck 工具四、虚拟机下使用1. x86编译2. 正常程序测试3. 申请内存不释放测试4. 内存越界的测试5. 读写已经释放的内存五、ARM平台使用1.交叉编译…...

Django(一)安装
好久没更新了 学习的内容太多了有点杂 一时不知道从何说起 !!! 对于Django我也不是很了解 在网上搜了个词条就是以下显示 我目前的了解也仅限于此 希望在接下来的学习过程中 有更多的学习体会可以和大家分享 一涉及到在对应python环境 下载东西时思维就会很混乱 这里再把之前…...

11从零开始学Java之如何正确地定义变量?
作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者前言在之前的文章中,壹哥给大家讲解了Java的第一个案例HelloWorld,并详细给大家介绍了Java的标识符…...

51单片机之喝水提醒器
定时器定时器介绍晶振晶体震荡器,又称数字电路的“心脏”,是各种电子产品里面必不可少的频率元器件。数字电路的所有工作都离不开时钟,晶振的好坏、晶振电路设计的好坏,会影响到整个系统的稳定性。时钟周期时钟周期也称为振荡周期…...

扒一扒抖音是如何做线程优化的
背景 最近在对一些大厂App进行研究学习,在对某音App进行研究时,发现其在线程方面做了一些优化工作,并且其解决的问题也是之前我在做线上卡顿优化时遇到的,因此对其具体实现方案做了深入分析。本文是对其相关源码的研究加上个人理…...

149.网络安全渗透测试—[Cobalt Strike系列]—[重定器/代理服务器/流量走向分析]
我认为,无论是学习安全还是从事安全的人多多少少都会有些许的情怀和使命感!!! 文章目录一、Cobalt Strike 重定器1、Cobalt Strike 重定器简介2、重定器用到的端口转发工具二、cobalt strike重定器实验1、实验背景2、实验过程3、流…...

Qt调用Chrome浏览器
一、前言 最近有个小项目需要跳转网页,之前有了解过,但是没有在项目中使用过Qt网页嵌入; 结合自己之前的博客,有如下两种技术可以实现我的需求: 1、Qt–网页嵌入 2、Qt使用QAxWidget调用Windows组件 但是在实际开…...

JVM虚拟机垃圾回收机制
JVM虚拟机垃圾回收机制垃圾回收机制判断是否存活算法引用计数法可达性分析法最终判定垃圾回收算法分代收集机制空间分配担保垃圾回收机制 判断是否存活算法 java语言和我们之前学的c/c不同,c/c可以手动进行内存释放,那样随时随地就可以释放不必要的内存…...

菜鸟刷题Day3
⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.字符串压缩:面试题 01.06. 字符串压缩 - 力扣(LeetCode) 描述 字符串压缩。利用字符重复出现的次数,编…...

南京邮电大学数据库第三次课后作业
1.单选(2分) 下列关于模式的术语中,(C)不是指数据库三级模式结构中的外模式 (A)子模式 (B)用户模式 (C)存储模式 (D)用户视图 2单选题(2分) 数据库的三级模式结构中,描述数据全局逻辑…...

【vue2】使用vue常见的业务流程与实现思路
🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:vue的业务处理思路。前台数据渲染与后台的增删改查操作 【前言】当大家会点开这一篇文章…...

Linux操作系统ARM体系结构处理器机制原理与实现
ARM 的概念ARM(Advanced RISC Machine),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM 公司并不生产芯片也不销售芯片,它只出售芯片技术授权。其合作公司针对不同需求搭配各类硬…...

Mongodb 常用基本语法与操作
常用操作 1、 Help查看命令提示 db.help(); 2、 切换/创建数据库 use test 如果数据库不存在,则创建数据库,否则切换到指定数据库 3、 查询所有数据库 show dbs; 4、 删除当前使用数据库 db.dropDatabase(); 5、 查看当前使用的数据库 db.getName(); 6、…...

MySQL注入秘籍【绕过篇】
MySQL注入秘籍【绕过篇】1.通用方法2.绕过空格3.绕过引号4.绕过逗号,5.绕过等号6.绕过and/or7.绕过注释符8.绕过函数检测1.通用方法 编码 编码无非就是hex、url等等编码,让传到数据库的数据能够解析的即可,比如URL编码一般在传给业务的时候就会自动解码…...

TCP三次握手/四次挥手
TCP三次握手 任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接示意图 第一次握手:客户端PC发送一个SYN位置1(SYN1代表请求服务端建立连接)的TCP报文发送给要建立TCP连接的Server,此…...

Python程序员看见一个好看的手机壁纸网站,开撸!
人生苦短,我用python 最近好像没什么大事, .那就采集一下小——姐——姐————看下吧~ python 安装包资料:点击此处跳转文末名片获取 最近有同学的爬虫代码出了bug,给问我怎么改 于是就发现了这个好看的手机壁纸网站。 这个图片应该是违规…...

浏览器工作原理
一、JavaScript 的历史 JavaScript(简称JS)Web前端开发的脚本语言。 它诞生1995年,由网景公司的 Brendan Eich 开发。最初,JavaScript 被设计用于在网页上嵌入动态内容和交互式功能。 1996年,JavaScript 1.1 成为国…...