2024网络安全学习路线 非常详细 推荐学习
关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线
首先咱们聊聊,学习网络安全方向通常会有哪些问题
1、打基础时间太长
学基础花费很长时间,光语言都有几门,有些人会倒在学习 linux 系统及命令的路上,更多的人会倒在学习语言上;
2、知识点掌握程度不清楚
对于网络安全基础内容,很多人不清楚需要学到什么程度,囫囵吞枣,导致在基础上花费太多时间;看到很多小伙伴,买了 HTML,PHP,数据库,计算机网络等书籍,每本还很厚,很多写得也很深,发现越学越没自信,别人学个 PHP 或者数据库就可以找到工作,而网络安全要学这么多,越来越怀疑自己是不是选错了方向;
3、知识点分不清重点
很多人花了很大精力学完了基础内容,但是发现很多知识和后续网络安全关联不大,没有分清重点,浪费了很多时间;
4、知识点学习不系统
之前看到很多小伙伴在 b 站找了好多视频,也去其他平台买了点小课,百度云盘上也有 1-2T 的学习资料和视频内容,但是每一类学完都需要花费不少时间,且内容很多有重复性,学完 SQL 注入后,后面又看到另一家讲这个 SQL 注入,还不错,又会去学习一遍,发现学完所有 web 漏洞原理后,自己还是不太确定自己是否把 Web 漏洞这块的知识点学全没有;
5、自己解决问题难
对于初学者来说,很多会自己搭建一些靶场,但是由于配置环境等原因,耽误时间会很多,尤其初学者碰到连续 3 个问题无法解决的时候,很容易放弃;对于一部分动手能力较差的同学,这块可能会直接影响到继续学习的信心;
6、实战水平不够
对于学网络安全,渗透测试方向的技术,其实很大程度上学习的就是“黑客”技术,通过学习怎么进攻和入侵,才能够更清楚系统和应用怎么去防御;而这块也恰恰是网络安全的核心,如果光有理论,实战经验少,也是较难去就业;在平时学习中,除了可以搭建一些开源的靶场用于练习,最好还是要有真实漏洞组成的靶场用于学习,当然也可以去 SRC 平台去渗透测试一些真实网站(一定要获得授权才可以渗透真实网站),但是难度发现又比较大,很多初学者会丧失信心,怀疑自己;
7、内网学习困难较大
Web 渗透这块的资料在互联网到处都是,学习起来相对较为轻松,但是内网这块的资料在互联网相对较少,能够借鉴的资料不多,另外也需要有相应的靶场配合练习,才能有技术上的提高和积累;学习难度会比较大。
了解了问题,同时结合自身的一些特点来调整学习方向,会事半功倍,以下为 3 种学习线路,适用于不同的学习人群
【----帮助网安学习,所有网络安全学习资料免费领!----】
方法 1:先学习编程,然后学习 Web 渗透及工具使用等
适用人群:有一定的代码基础的小伙伴
(1)基础部分
基础部分需要学习以下内容:
(1.1)计算机网络 :
重点学习 OSI、TCP/IP 模型,网络协议,网络设备工作原理等内容,其他内容快速通读;
(1.2)Linux 系统及命令 :
由于目前市面上的 Web 服务器 7 成都是运行在 Linux 系统之上,如果要学习渗透 Web 系统,最起码还是要对 linux 系统非常熟悉,常见的操作命令需要学会;
**学习建议:**学习常见的 10%左右的命令适用于 90%的工作场景,和 office 软件一样,掌握最常用的 10%的功能,基本日常使用没什么问题,遇到不会的,再去找度娘;常见的 linux 命令也就 50-60 个,很多小白囫囵吞枣什么命令都学,发现记不住啊!!!!这个学习方法也是不对的;
(1.3)Web 框架 :
熟悉 web 框架的内容,前端 HTML,JS 等脚本语言了解即可,后端 PHP 语言重点学习,切记不要按照开发的思路去学习语言,php 最低要求会读懂代码即可,当然会写最好,但不是开发,但不是开发,但不是开发,重要的事情说三遍;
(1.4)数据库:
需要学习 SQL 语法,利用常见的数据库 MySQL 学习对应的数据库语法,也是一样,SQL 的一些些高级语法可以了解,如果没有时间完全不学也不影响后续学习,毕竟大家不是做数据库分析师,不需要学太深;
(2)Web 安全
(2.1)Web 渗透
掌握 OWASP 排名靠前的 10 余种常见的 Web 漏洞的原理、利用、防御等知识点,然后配以一定的靶场练习即可;有的小白可能会问,去哪里找资料,建议可以直接买一本较为权威的书籍,配合 b 站的免费视频系统学习,然后利用开源的靶场辅助练习即可;
【推荐靶场】常见的靶场都可以上 github 平台搜索,推荐以下靶场 DVWA、bWAPP、upload-labs-master、SQL-lib-master、WebBug、pikachu 等,有些是综合靶场,有些是专门针对某款漏洞的靶场;
(2.2)工具学习
Web 渗透阶段还是需要掌握一些必要的工具,工具的学习 b 站上的视频比较多,挑选一些讲解得不错的视频看看,不要一个工具看很多视频,大多数视频是重复的,且很浪费时间;
**主要要掌握的工具和平台:**burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具 ssrs、hydra、medusa、airspoof 等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了。
练习差不多了,可以去 SRC 平台渗透真实的站点,看看是否有突破,如果涉及到需要绕过 WAF 的,需要针对绕 WAF 专门去学习,姿势也不是特别多,系统性学习学习,然后多总结经验,更上一层楼。
(2.2)自动化渗透
自动化渗透需要掌握一门语言,且需要熟练运用,可以是任何一门自己已经掌握得很熟悉得语言,都可以,如果没有一门掌握很好的,那我推荐学习 python,最主要原因是学起来简单,模块也比较多,写一些脚本和工具非常方便;
什么鬼?又要学习编程,刚才不是说了编程不是学习网络安全的必要条件,不懂自动化渗透也不影响入门和就业,但是会影响职业的发展,且学习 python 不需要掌握很多不需要的模块,也不需要开发成千上万行的代码,仅利用它编写一些工具和脚本,少则 10 几行代码,多则 1-200 行代码,一般代码量相对开发人员已经少得不能再少了,例如一个精简得域名爬虫代码核心代码就 1-20 行而已;
有的小伙伴可能又急了,那到底需要怎么学嘛?
几天时间学习一下 python 的语法,有代码基础得小哥哥和小姐姐,最快可能一天就可以学习完 python 的语法,因为语言都是相通的,但是学习语言最快的就是写代码,别无他法;接下来可以开始尝试写一些常见得工具,如爬虫、端口探测、数据包核心内容提取、内网活跃主机扫描等,此类代码网上一搜一大把;然后再写一些 POC 和 EXP 脚本,以靶场为练习即可;有的小伙伴可能又要问了,什么是 POC 和 EXP,自己度娘去,养成动手的好习惯;
(2.3)代码审计
什么鬼?又要看代码。此处内容要求代码能力比较高,因此如果代码能力较弱,可以先跳过此部分的学习,不影响渗透道路上的学习和发展。
但是如果希望在 Web 渗透上需要走得再远一些,需要精通一门后台开发语言,推荐 php,因为后台采用 php 开发的网站占据最大,当然你还精通 python、asp、java 等语言,那恭喜你,你已经具备很好的基础了;
代码审计顾名思义,审计别人网站或者系统的源代码,通过审计源代码或者代码环境的方式去审计系统是否存在漏洞(属于白盒测试范畴);
那具体要怎么学习呢?学习的具体内容按照顺序列举如下:
掌握 php 一些危险函数和安全配置;
熟悉代码审计的流程和方法;
掌握 1-2 个代码审计工具,如 seay 等;
掌握常见的功能审计法;(推荐审计一下 AuditDemo,让你产生自信)
常见 CMS 框架审计(难度大);
**【推荐书籍】**代码审计有一本国外的书籍《代码审计:企业级 Web 代码安全架构》,当然有空的时候可以去翻翻,建议还是在 b 站上找一套系统介绍的课程去学习;github 上找到 AuditDemo,下载源码,搭建在本地虚拟机,然后利用工具和审计方法,审计 AuditDemo 中存在的 10 个漏洞,难度分布符合正态分布,可以挑战一下;
至于 CMS 框架审计,可以去一些 CMS 官方网站,下载一些历史存在漏洞的版本去审计,框架的学习利用官方网站的使用手册即可,如 ThinkPHP3.2 版本是存在一些漏洞,可以尝试读懂代码;但是切记不要一上来就看代码,因为 CMS 框架的代码量比较大,如果不系统先学习框架,基本属于看不懂状态;学习框架后能够具备写简单的 POC,按照代码审计方法结合工具一起审计框架;其实也没有想想中的那么难,如果你是开发人员转行的,恭喜你,你已经具备代码审计的先天性优势。
那有的小伙伴又问了,我代码很差,不学习代码审计行不行,代码审计不是学习网络安全的必要条件,能够掌握最好,掌握不了也不影响后续的学习和就业,但你需要选择一个阶段,练习得更专业精通一些,如 web 渗透或者内网渗透,再或者是自动化渗透;
(3)内网安全
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;
如果想就业面更宽一些,技术竞争更强一些,需要再学习内网渗透相关知识;
内网的知识难度稍微偏大一些,这个和目前市面上的学习资料还有靶场有一定的关系;内网主要学习的内容主要有:内网信息收集、域渗透、代理和转发技术、应用和系统提权、工具学习、免杀技术、APT 等等;
不要和我说专业名词,叭叭叭叭叭叭!具体要怎么学?
**【推荐书籍】**这个问题有点大,呃呃呃呃呃呃!可以看《内网安全攻防:渗透测试实战指南》,这本书写得还不错,国内为数不多讲内网的书籍,以书籍目录为主线,然后配合工具和靶场去练习即可;
那小伙伴又要问了,那去哪里可以下载到内网靶场!呃呃呃呃呃!这个难倒我了,如果你能力够强,电脑配置高,可以自己利用虚拟机搭建内网环境,一般需要 3 台以上的虚拟机;你也可以到国外找一些内网靶场使用,有一些收费的靶场还可以;
(4)渗透拓展
渗透拓展部分,和具体工作岗位联系也比较紧密,尽量要求掌握,主要有日志分析、安全加固、应急响应、等保测评等内容;其中重点掌握前三部分,这块的资料网络上也不多,也没有多少成型的书籍资料,可通过行业相关的技术群或者行业分享的资料去学习即可,能学到这一步,基本上已经算入门成功,学习日志分析、安全加固、应急响应三部分的知识也相对较为容易。
方法 2:先学习 Web 渗透及工具,然后再学习编程
适用人群:代码能力很弱,或者根本没有什么代码能力,其他基础也比较差的小伙伴
那有的小伙伴就会问了,那你基础都不打好,怎么学习 Web 渗透?
基础部分还是要学习的,比如 linux 系统、计算机网络、一点点的 Web 框架、数据库还是需要提前掌握;
那像 php 语言、自动化渗透和代码审计部分内容,可以放在最后,当学习完毕前面知识后,也相当入门后,再来学习语言,相对会容易一些;
**【优先推荐】**方法 2,对于小白来说,代码基础通常较弱,很多很多小白会倒在前期学习语言上,所以推荐方法 2 的学习,先学习 web 渗透和工具,也比较有意思,容易保持一个高涨的学习动力和热情,具体学习内容我就不说了,请小伙伴们参照方法 1 即可。
最后想要资料的小伙伴们可以扫描以下二维码免费领取哦
相关文章:
2024网络安全学习路线 非常详细 推荐学习
关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线 首先咱们聊聊,学习网络安全方向通常会有哪些问题 1、打基础时间太长 学基础花费很长时间,光语言都有几门,有些人会倒在学习 linux 系统及命令的路上&#…...
STM32F103ZET6_HAL_CAN
1定义时钟 2定义按键 按键上拉电阻 3开启串口 4打开CAN(具体什么意思上一篇讲了) 5生成代码 /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief …...
javaWeb项目-ssm+vue网上租车系统功能介绍
本项目源码:java-基于ssmvue的网上租车系统源码说明文档资料资源-CSDN文库 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、…...
Go模板页面浏览器显示HTML源码问题
<!--* Title: This is a file for ……* Author: JackieZheng* Date: 2024-06-09 17:00:01* LastEditTime: 2024-06-09 17:01:12* LastEditors: Please set LastEditors* Description:* FilePath: \\GoCode\\templates\\index.html --> <!DOCTYPE html> <html …...
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
Docker技术概论 在WSL2中玩转Docker之Docker Engine部署 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://bl…...
Mac下载了docker,在终端使用docker命令时用不了
问题:在mac使用docker的时候,拉取docker镜像失败 原因:docker是需要用app使用的 ,所以在使用的时候必须打开这个桌面端软件才可以在终端上使用docker命令!!!...
Spring Security——基于MyBatis
目录 项目总结 新建一个项目 pom.xml application.properties配置文件 User实体类 UserMapper映射接口 UserService访问数据库中的用户信息 WebSecurityConfig配置类 MyAuthenticationFailureHandler登录失败后 MyAuthenticationSuccessHandlerw登录成功后 WebSecur…...
Qt——升级系列(Level Four):控件概述、QWidget 核心属性、按钮类控件
目录 控件概述 QWidget 核心属性 核心属性概览 enabled geometry windowTitle windowIcon windowOpacity cursor font toolTip focusPolicy styleSheet 按钮类控件 Push Button Radio Buttion Check Box Tool Button 控件概述 Widget 是 Qt 中的核⼼概念. 英⽂原义是 "…...
品质卓越为你打造App UI 风格
品质卓越为你打造App UI 风格...
ei期刊和sci期刊的区别
ei期刊和sci期刊的区别 ei期刊和sci期刊的区别是什么?Sci和ei都属于国际期刊的一种,但是二者之间存在一些区别,选择期刊投稿时需要注意这些区别。EI期刊刊物的审查周期短,SCI学术期刊的审查期长。难度要求不同,SCI期刊比EI期刊对…...
从零手写实现 nginx-20-placeholder 占位符 $
前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …...
leetcode290:单词规律
题目链接:290. 单词规律 - 力扣(LeetCode) class Solution { public:bool wordPattern(string pattern, string s) {unordered_map<char, string> s2t;unordered_map<string, char> t2s;int len pattern.size();int CountSpace…...
IDEA 2022
介绍 【尚硅谷IDEA安装idea实战教程(百万播放,新版来袭)】 jetbrains 中文官网 IDEA 官网 IDEA 从 IDEA 2022.1 版本开始支持 JDK 17,也就是说如果想要使用 JDK 17,那么就要下载 IDEA 2022.1 或之后的版本。 公司…...
Vue TypeScript 实战:掌握静态类型编程
title: Vue TypeScript 实战:掌握静态类型编程 date: 2024/6/10 updated: 2024/6/10 excerpt: 这篇文章介绍了如何在TypeScript环境下为Vue.js应用搭建项目结构,包括初始化配置、创建Vue组件、实现状态管理利用Vuex、配置路由以及性能优化的方法&#x…...
Hudi extraMetadata 研究总结
前言 研究总结 Hudi extraMetadata ,记录研究过程。主要目的是通过 extraMetadata 保存 source 表的 commitTime (checkpoint), 来实现增量读Hudi表写Hudi表时,保存增量读状态的事务性,实现类似于流任务中的 exactly-once 背景需求 有个需求:增量读Hudi表关联其他Hudi…...
Vue31-自定义指令:总结
一、自定义函数的陷阱 1-1、自定义函数名 自定义函数名,不能用驼峰式!!! 示例1: 示例2: 1-2、指令回调函数的this 【回顾】: 所有由vue管理的函数,里面的this直接就是vm实例对象。…...
Windows环境如何使用Flutter Version Manager (fvm)
Windows环境如何使用Flutter Version Manager (fvm) Flutter Version Manager (fvm) 是一个用于管理多个 Flutter SDK 版本的命令行工具,它允许开发者在不同项目之间轻松切换 Flutter 版本。这对于需要维护多个使用不同 Flutter 版本的项目的开发人员来说非常有用。…...
优化Elasticsearch搜索性能:查询调优与索引设计
在构建基于 Elasticsearch 的搜索解决方案时,性能优化是关键。本文将深入探讨如何通过查询调优和索引设计来优化 Elasticsearch 的搜索性能,从而提高用户体验和系统效率。 查询调优 优化查询是提高 Elasticsearch 性能的重要方法。以下是一些有效的查询…...
STM32-17-DAC
STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU STM32-14-FSMC_LCD STM32-15-DMA…...
一杯咖啡的艺术 | 如何利用数字孪生技术做出完美的意式浓缩咖啡?
若您对数据分析以及人工智能感兴趣,欢迎与我们一起站在全球视野关注人工智能的发展,与Forrester 、德勤、麦肯锡等全球知名企业共探AI如何加速制造进程, 共同参与6月20日由Altair主办的面向工程师的全球线上人工智能会议“AI for Engineers”…...
使用QT制作QQ登录界面
mywidget.cpp #include "mywidget.h"Mywidget::Mywidget(QWidget *parent): QWidget(parent) {/********制作一个QQ登录界面*********************/this->resize(535,415);//设置登录窗口大小this->setFixedSize(535,415);//固定窗口大小this->setWindowTi…...
代码随想录训练营第七天 344反转字符串 541反转字符串II 替换数字
第一题: 原题链接:344. 反转字符串 - 力扣(LeetCode) 思路: 双指针,一根指向字符串的头部,一根指向字符串的尾部。两个指针向中间移动,交换两根指针指向的值。 代码如下…...
【Python】数据处理:SQLite操作
使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库,Python 标准库中包含一个名为 sqlite3 的模块,可以直接使用。 import sqlite3数据库连接和管理 连接到 SQLite 数据库。如果数据库文件不存在,则创建一个新数据库…...
NXP RT1060学习总结 - fsl_flexcan 基础CAN函数说明 -3
概要 CAN测试源码: https://download.csdn.net/download/qq_35671135/89425377 根据fsl_flexcan.h文件从文件末尾往前面梳理,总共30个基础CAN函数; 该文章只梳理常规CAN,增强型CAN后面再单独梳理。 使用的是RT1064开发板进行测试…...
2024年第三届数据统计与分析竞赛(B题)数学建模完整思路+完整代码全解全析
你是否在寻找数学建模比赛的突破点?数学建模进阶思路! 详细请查 作为经验丰富的数学建模团队,我们将为你带来2024年第三届数据统计与分析竞赛(B题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有…...
高通Android 12 右边导航栏改成底部显示
最近同事说需要修改右边导航栏到底部,问怎么搞?然后看下源码尝试下。 1、Android 12修改代码路径 frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java a/frameworks/base/services/core/java/com/android/server/wm/Display…...
2.6数据报与虚电路
数据报 当作为通信子网用户的端系统要发送一个报文时,在端系统中实现的高层协议先把报文拆成若干个带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU)中间结点存储分组一段很短的时间,找到最佳的路由后&#x…...
小主机折腾记26
双独立显卡调用问题 前两天将tesla p4从x99大板上拆了下来,将880G5twr上的rx480 4g安装到了x99大板上,预计是dg1输出,rx480做3d运算。安装完驱动后,还想着按照之前tesla p4的设置方法去设置rx480,结果果然,…...
ArrayList浅析
目录 一、ArrayList源码1.1 迭代器1.1.1 Itr源码浅析1.1.2 ListItr源码浅析 1.2 常用方法1.3 System.arraycopy1.4 ArrayList 的创建方式 二、引申问题2.1 ArrayList的大小是如何增加的?2.2 什么情况下你会使用ArrayList2.3 在索引中ArrayList的增加或者删除某个对象…...
Spring Boot整合hibernate-validator实现数据校验
文章目录 概念基本概念常用校验注解 前置内容整合Hibernate Validator快速入门优雅处理参数校验异常其余注解校验自定义校验注解 参考来源 概念 基本概念 Hibernate Validator 是一个参数校验框架,可以非常方便地帮助我们校验应用程序的入参,实现了参数…...
长沙创意网站建设/游戏优化大师下载安装
jQuery事件对象的属性和方法 事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别 event.type:获取事件的类型 触发元素的事件类型 $("a").click(function(event) {alert(event.type); // "cl…...
专业集团门户网站建设服务商/网络开发
K210基础实验——LEDZTFR开发板fpioa_manager:MAIX.GPIO开发板LED点亮LED流水灯LED混光ZTFR开发板 fpioa_manager: fpioa_manager:简称fm,该模块用于注册芯片内部功能和引脚,帮助用户管理内部功能和引脚映射关系的功能…...
阿里云网站建设方案书怎么写/百度广告投放平台官网
一、str.encode(‘编码’) 将特定字符编码 一、bytes.decode(‘编码’) 将字符编码解码为字符文本 应用一: s1 ‘ABCD’ print(s1.encode(‘ASCII’)) s2 ‘你好’ print(s2.encode(‘UTF-8’)) print(s2.encode(‘UTF-16’)) b1 b’\xe4\xbd\xa0\xe5\xa5\xbd’ print(b1.dec…...
麓谷网站建设公司/百度手机助手免费下载
时间:2018.07.24地点:北京中关村创业大街车库咖啡 转载于:https://www.cnblogs.com/xuefeng1982/p/10331614.html...
网站建设策略/郑州seo技术代理
【错误信息】 [2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement![2011-01-19 16:39:10 - ApiDemos] Device API version is 8 (Android 2.2)原因:不影响正常运行。在AndroidManifest.xml文件中没有加API的版本号&…...
广州定制型网站/如何做推广和引流
前言 目标:掌握s7节点中各个节点的基本使用方法。 详细介绍node-red-contrib-s7中 s7 in s7 out 和 s7 control 节点的使用 演示环境 win10系统,Node-RED最新版本2.1.3(2021年11月21号)。 二、模块与节点 安装node-red-contrib-s7模块。 三、应用讲解 1、s7 contro…...