小白怎么系统的自学计算机科学和黑客技术?
我把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组件 但是在实际开…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
