网络安全如何从零基础到精通?

news2024/9/22 7:36:58

 在看这篇文章之前,有个问题想确认一下,你现在自学网络安全是出于兴趣原因,还是说之后准备走网络安全这个方向?
因为目的不同,学习的方式和深度也会不一样。
今天我就围绕职业发展这个方向来和你聊聊。

如果你真的想通过自学的方式入门网络安全的话,那建议你看看下面这个学习路线图,这是我给自己团队实习人员制定的学习计划,具体到每个知识点学多久,怎么学,自学时间共计半年左右,亲测有效(文末有彩蛋):
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漏洞利用等等);
  • 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
  • 思考渗透主要分为几个阶段,每个阶段需要做那些工作,例如这个:PTES渗透测试执行标准;
  • 研究SQL注入的种类、注入原理、手动注入技巧;
  • 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架;
  • 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki,可以参考:XSS;
  • 研究Windows/Linux提权的方法和具体使用,可以参考:提权;
  • 可以参考: 开源渗透测试脆弱系统;

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配置,特别注意配置安全和运行权限,可以参考:SecWiki-配置;
  • Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等,可以参考:SecWiki-配置;
  • 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
  • 配置软件Waf加强系统安全,在服务器配置mod_security等系统,参见SecWiki-ModSecurity;
  • 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。

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

  • 选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。
  • 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime,一些Sublime的技巧:SecWiki-Sublime;
  • Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
  • 用Python编写漏洞的exp,然后写一个简单的网络爬虫,可参见SecWiki-爬虫、视频;
  • PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;
  • 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
  • 了解Bootstrap的布局或者CSS,可以参考:SecWiki-Bootstrap;

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

  • 能独立分析脚本源码程序并发现安全问题。
  • 熟悉源码审计的动态和静态方法,并知道如何去分析程序,参见SecWiki-审计;
  • 从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
  • 了解Web漏洞的形成原因,然后通过关键字进行查找分析,参见SecWiki-代码审计、高级PHP应用程序漏洞审核技术;
  • 研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

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

  • 能建立自己的安全体系,并能提出一些安全建议或者系统架构。
  • 开发一些实用的安全小工具并开源,体现个人实力;
  • 建立自己的安全体系,对公司安全有自己的一些认识和见解;
  • 提出或者加入大型安全系统的架构或者开发;
  • 看自己发展咯~

最后
在整理好自己的知识框架,知道该怎么学习之后,下一步就是往框架里面填充内容了。
此时我们的选择也可以很多,比如CSDN,比如知乎,再比如B站,都有很多人在分享自己的学习资料,但我觉得这里存在的很大一个问题就是不连贯、不完善,大部分免费分享的教程,都是东一块西一块,前言不搭后语,学着学着就蒙了,这是我自学之后的亲身感受。
如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,大部分我都看过,感觉还不错,如果需要的话可以评论区告诉我。

也可以点这里,自行添加获取。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659436.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全国青少年软件编程(Scratch)等级考试一级考试真题2023年5月——持续更新.....

一、单选题(共25题,共50分) 1.看图找规律,请问下图红框中是?( ) A. B. C. D. 标准答案:D 试题解析:通过观察每种图形有两个,所以选择D 2.用一根绳子绕树一圈余30厘米&#x…

小说推文洗稿的工作流程

牙叔教程 简单易懂 第一步 找到十万赞以上的爆款视频 自己刷呗, 多刷一些, 最好是那种粉丝几万到几十万的作者, 点赞数量在万赞以上的作品, 十万赞就更好啦 第二步 提取视频的文案 我们分享视频的时候, 有一个复制链接的按钮, 然后把链接复制到 逗哥配音 , 就可以把文案提取…

【QQ界面展示-通知的发布2 Objective-C语言】

一、我再把这个通知的发布与监听给大家复习一下, 1.我们发布和监听通知, 1)第一,需要一个对象,通知的发布者 2)第二,需要一个对象,通知的监听者 只有它俩,还不够,一个是通知的发布者、一个是通知的监听者, 只有它俩,根本不够, 你要想进行通知的发布、和监听,…

leetcode329. 矩阵中的最长递增路径(java)

矩阵中的最长递增路径 矩阵中的最长递增路径题目描述 暴力递归代码演示 递归 缓存代码演示 动态规划专题 矩阵中的最长递增路径 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/longest-increasing-path-in-a-matrix 题…

一文搞懂文件系统

目录 1.文件系统概述 2.文件命名 3.目录 3.1一级目录系统 3.2层次目录系统 4.文件系统的实现 4.1引导块 4.2超级块 4.3空闲空间块 4.3.1位图 4.3.2 使用链表进行管理 4.inode 5.记录文件所用磁盘块的方法 5.1连续分配 5.2链表分配 5.3inode 1.文件系统概述 文件系…

DC综合入门【待完善】

一、文件说明 工艺库 1、.db 格式:二进制工艺库文件;. lib 格式:可读工艺库文件(包含 operating _ conditions ). 二、. synopsys _ dc . setup 搜索路径定义 1、set_search _ path [ list ./ home xxx(路径)] 2、多个地址可用&…

eclipse中创建一个maven父工程和几个模块(子工程)

示例:创建一个父工程和几个模块(子工程) 1)、先创建一个父工程 注意:下面的Packaging选择pom: 点击Finish,父工程就创建好了: 2)、再创建模块(module&am…

软件测试用例三问,我的观点

背景 笔者最近换了新工作,可能是跟下属不熟悉的关系,昨天在会议上要求他们在用例中说清楚测试点。这句话引起了下属的一些情绪。我觉得这个问题有必要拿出来说一说,而且讨论这个问题的时候很容易从A变成B,这需要管理者警惕。 昨…

抖音如何查看自己上没上热门

抖音如何查看自己上没上热门 老铁,你的作品上热门了,你是不是还不知道呀? 如果说你还不知道怎么查看自己的作品上热门了,那么你一定要认真听我说。 首先呢,你的作品上热门播放量会比平时高几倍,几十倍&am…

@ConfigurationProperties 注解原理

前言 ConfigurationProperties注解是 SpringBoot 提供的一种更加便捷来处理配置文件中的属性值的方式,可以通过自动绑定和类型转换等机制,将指定前缀的属性集合自动绑定到一个Bean对象上。 加载原理 在 Springboot 启动流程加载配置的 prepareEnviron…

(2022,域邻近度)通过自适应感知核调制的 few-shot 图像生成

Few-shot Image Generation via Adaptation-Aware Kernel Modulation 公众号:EDPJ 目录 0. 摘要 1. 简介 2. 相关工作 3. 通过源-目标域接近度的视角重新审视 FSIG 3.1 源-目标域邻近度分析 3.2 临近假设松弛下的 FSIG 方法 4. 自适应感知核调制 5. 实证研…

js实现日历效果

使用js实现日历效果,主要用到了元素的创建以及添加 对应的方法是document.createElement()和document.appendChild() 主要实现思路: 用div布局把日历的页面框架搭建出来依次遍历上月,本月,下月的天数切换月份的时候首先清空所有日…

在服务器安装mysql步骤以及mysql数据库连接报错:is not allowed to connect to this mysql server

mysql xxx is not allowed to connect to this MySQL server 服务器上面安装的mysql数据库在本地连接的时候报错:is not allowed to connect to this MySQL server 出现这种情况的原因是因为: mysql数据库只允许自身所在的本机器连接,不允许…

排序算法——直接选择排序

直接选择排序 以升序排序为例 文章目录 直接选择排序算法步骤动图演示实现代码改进算法(双指针)具体步骤处理特殊情况:实现代码 时间复杂度 算法步骤 方法一:直接交换数组元素 将第一个元素与其他元素进行比较,若其…

初识网络之再看tcp协议

目录 一、tcp协议段格式 二、tcp协议的解包 三、tcp协议的分用 四、TCP可靠性问题 1. 不可靠存在原因 2. 常见的不可靠问题 3. 如何保证可靠性 4. 确认应答机制 5. 序号 五、tcp报头其余字段 1. 16位窗口大小 2. tcp的6个标记位 2.1 SYN 2.2 FIN 2.3 ACK 2.4 P…

【Linux】C语言中多线程的创建、退出、回收、分离

概述 线程是轻量级的进程(LWP:light weight process),在 Linux 环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,…

【Spring AOP】面向切面编程

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1. 什么是Spring AOP? 2. 为什么要…

NFC type 12345 tag介绍

NFC(近场通信)被称为短距离无线技术,是一套通信协议,NFC技术将非接读卡器/Reader、非接标签/Tag和点对点(Peer-to-Peer)数据交换的功能设计融为一体!使电子设备之间能够进行简单、安全的双向交互。为推动NFC技术发展,2004年,诺基亚…

Stable-Diffusion环境搭建

硬件可以采用DELL R7525 搭配L4 或者T4 等等企业级显卡 环境如下: 可以看到有相应的GPU卡信息 esxi 7.u3 信息 设置GPU穿透方式 查看相应的虚拟机参数信息 PCI 设备加载穿透GPU信息 启动uefi 设置相应的参数信息 https://docs.nvidia.com/grid/latest/grid-vgpu-re…

如何检测视频中的绿屏、绿帧问题

今天给项目拷机,发现视频会偶现绿屏,非常偶现,很难复现出来。 由于问题暂时没有定位,只能先表面解决一下,就是过滤掉出现绿屏的帧。 当然,首先要把绿帧检测出来,才能做后续的补救措施。 绿屏、…