欢迎光临散文网 会员登陆 & 注册

零基础学习网络安全,看这一篇就够了

2023-03-07 15:39 作者:SecHub官方账号  | 我要投稿

本文档   发布 by @SecHub平台(sechub.com.cn),是SecHub团队共同编写完成,转载请标注来源~

文档内容会不断迭代更新,最新版见sechub平台!

前言

首先,咱们来聊聊,小白在学习网络安全时会遇到哪些问题:

1、学基础的时间太长,周期太久

网络信息安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。所以,在学习网络安全时,需要花大量的时间打基础,要学习的内容和方向都很多,有的同学会倒在学习Linux系统的路上,有的会倒在学习编程上。

2、不了解知识点需掌握的深浅程度

对于网络安全所需要学习的内容,很多人不清楚需要学到什么程度,囫囵吞枣,导致在基础上花费太多时间,什么都想学的精通。看到很多小伙伴,买了 HTML入门、PHP入门到精通、精通MySQL 数据库、计算机网络大全、Linux操作系统等书籍,这类的书籍呢首先很厚,知识点很全,写得也很深,发现自己越学越没自信,别的同学只学个 PHP 或者python就可以找到工作,而学网络安全要学这么多,还都没掌握,越来越怀疑自己是不是选错了方向。

3、碎片化学习,缺少知识体系化

很多小伙伴是通过在网上找学习资源,比如B站、公众号、安全社区、云盘上也有 好几T 的学习视频,还有去其他平台买课等,但是每一部分内容学完都需要花费不少时间,且内容很多重复性,比如:学完XSS漏洞的原理及防御了,之后又看别的视频讲的文件上传漏洞不错,又去全部跟着学了一遍,到最后发现自己都不太确定是否把 Web 漏洞的知识点全部掌握了,懵懵懂懂。

4、新手解决问题难

对于初学者来说,在学习期间会自己动手搭建一些靶场,虽然是按照网上的教程进行复现,但是由于配置环境等原因,会出现很多问题,在网上找解决方法,虽然一大堆,但是都无法解决自己的问题。第一 耽误学习时间,第二 容易产生抵触心理,初学者碰到连续 3 个问题无法解决的时候,很容易放弃;而对于一部分动手能力较差的同学,可能在遇到第一个无法解决的问题时,就已经放弃了。

5、缺少实战经验

对于学网络安全的同学最发愁的就是如何提高自己的实战能力,而不是纸上谈兵。虽然在学习过程中,可以自行搭建靶场用于练习,但任缺少在真实项目中需要的场景。当然同学们可以选择去国内 SRC 平台参与测试项目(前提是一定要获得授权才可以参加,绝对不可以自己随意攻击被人的网站)。

6、提升阶段太难了

Web 安全的学习资料现在网上已经比较多了,学习起来相对较为轻松,但是在学完web安全后,很多同学不知道下一步该学习什么?没有了方向,且进阶的内容网上资料比较少,学习难度会比较大。

7、如何选择适合自己的岗位

首先,网络安全的岗位其实很多,可以去招聘网站了解下具体的岗位和职责。针对不同的方向来选择学习哪些技能点。

8、选择获取哪些资质证书

首先,网络安全的岗位虽然对证书要求并不是很高,但证书也是找工作时的亮点。

  • 免费证书:在校大学生可通过参加国内SRC、CNVD等平台项目,获得CNVD原创漏洞证书SRC颁发证书,同样非常具有价值。见文章《小白如何获取CNVD原创漏洞证明证书》

  • 专业证书(收费):NISP一级、二级、三级;CSIP等,具有认可度。

    • NISP一级:比较适合大学生,费用低、门槛低。见文章《如何考取NISP一级证书》

    • NISP二级:被称为校园版”CISP,填补了在校大学生无法考取CISP证书的空白,持证学员毕业满足条件可免试换取CISP证书,为持证学员赢得就业先机。见文章《如何考取“校园版CISP”【 NISP二级】证书》

sechub所属企业“北京赛克艾威科技有限公司”,已被国家信息安全水平考试(NISP)管理中心 授权为 国家信息安全水平考试(NISP)运营机构,具备在相关区域内组织、实施和培训等NISP有关资格,长期为在校学子和社会人士提供各类网络安全专业认证培训服务,欢迎报名咨询!

以下每个章节都有难易程度标识,建议新手第一遍只学习【基础】+【入门】,之后再去根据自身能力选择其他部分学习。

一、基础阶段

前言

网络信息安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。所以,基础环节我们“选择性”学习,不需要每一个部分都掌握的非常熟练,有些内容我们了解、理解原理即可。具体技术的需掌握范围以每部分【概述】为准。

学习周期:建议1~2个月

1、第一课 学习网络安全法

概述: 学渗透先学习《网络安全法》,要在不违法、不侵害他人权益的情况下进行学习。在渗透测试之前,需要获得目标客户的授权,如果未获得授权,请勿对目标系统进行渗透测试。请参阅-百度百科 《网络安全法》。

基础: 见文章《了解网络安全法》)

2、计算机基础知识

概述:

  • 掌握计算机网络基础知识

  • 了解Web服务分层

  • 掌握服务器构成

  • 了解HTTP协议

基础:

  • 计算机网络基础知识:见文章《了解网络模型结构 》、《什么是URL》

  • 服务器基础知识:见文章《web服务分层介绍》、《 phpstudy 安装教程》

  • HTTP协议:见文章《了解HTTP协议及工作原理》、《HTTP报文结构 》、《了解HTTP协议中状态码 》

进阶:

见文章《网络协议入门篇》

3、HTML/CSS/JS快速入门

概述:

  • 了解什么是HTML

  • 掌握基本标签的使用

  • 掌握图像、链接、表格、列表、表单的使用

  • 可独立编写简单的网页

基础:

  • HTML快速入门:见文章《HTML简介与基础》,需逐一学习【基础知识/HTML】分类下文章

  • CSS基础使用:见文章《CSS简介与基础》

  • Javascript的使用:见文章《什么是Javascript》

考核任务:独立编写出《留言板项目》页面,见文章《留言板项目的页面设计》

进阶:对于新手同学掌握【基础】相关内容即可,选择【前端开发岗位】的同学,可前往菜鸟教程继续进阶学习【HTML/CSS/JS】更多内容~

## 4、PHP入门

概述:学习网络安全,必不可少的就是掌握“编程”能力。对于编程语言:Java、C、PHP、python、go等,掌握一种即可,了解代码的构造和语法。此处,我们选择了PHP语言,PHP相当于Java、C来说,比较简单易上手,且很多小型网站都是使用PHP语言编写的,为后续代码审计可打下基础。

  • 了解PHP

  • 掌握语法、变量、常量、字符串等使用

  • 掌握运算符的使用

  • 掌握数组、循环、函数的使用

  • 掌握表单、连接数据库、操作数据等使用

基础:见文章《PHP简介与基础》,需逐一学习【基础知识/PHP】分类下文章

考核:独立完成《留言板项目》相关功能(需掌握MySQL数据库),见文章《留言板项目的页面设计》

5、MySQL数据库

概述

  • 了解SQL语句

  • 安装、使用 MySQL数据库

  • 熟练掌握 对数据库、表、数据的【增删改查】

  • 掌握掌握  AND、OR、ORDER BY、UNION、ALTER

入门:见文章《什么是SQL》,需逐一学习【基础知识/MySQL数据库】分类下文章

考核:独立完成《留言板项目》相关功能,见文章《留言板项目的页面设计》

6、Linux操作系统

概述:学习网络安全必备技能,熟练掌握Linux操作系统的常用命令。

  • 了解什么是LInux操作系统

  • 掌握安装、配置环境

  • 学习使用SSH连接

  • 掌握目录操作、文件操作、用户操作、用户身份切换等

  • 掌握进程、服务管理

  • 掌握vi编辑器的使用

  • 掌握常见命令:cd、cat、more、head、tail、awk、find、grep、sed等

  • 掌握防火墙的使用

  • 掌握LAMP相关操作

入门:见文章《Linux操作系统快速入门》,需逐一学习【基础知识/Linux操作系统】分类下所有文章

进阶:对于新手同学掌握【入门】相关内容即可,进阶内容可前往鸟哥的私房菜继续学习更多内容~

总结

以上内容全部学习完后,恭喜你,已经学习完基础内容,身份从“网络安全小白”变成“网络安全萌新”,接下来开始正式学习和网络安全知识,网络安全必备技能之web安全。

二、入门阶段-web安全

前言

恭喜你已经完成了基础内容的学习,相信在大家完成了留言版的开发后,对于Web的分层已经是有了一些简单的了解,就比如网站部署过程中的前端语言(html)web容器(中间件)后端语言(php)数据库(mysql)浏览器等。

接下来咱们就正式进入到Web安全漏洞的学习中去,在这一阶段的学习中,我们可以先把重心放到一些基础的、常见的漏洞类型中——SQL注入、文件上传、文件包含、XSS、CSRF、暴力破解、逻辑漏洞、信息泄露、权限绕过、命令执行、任意文件下载、代码执行等。

在漏洞的学习上,切记我们要抱着懂原理、会手工利用、能实战利用的目的去,切勿眼高手低、依赖工具,要成为一名合格的渗透测试工程师,而不是当一个脚本小子。

0、练习方式

靶场推荐

网络安全技术是一门需要上手操作的实操类技术,中间的练手靶场必不可少,这里总结了众多靶场,靶场地址和介绍详见文章:《WEB安全靶场总结》

SRC推荐

SRC(Security Response Center)就是安全响应中心或者说漏洞响应平台,具体平台可见国内漏洞响应平台

1、Web安全基础

概述:

在Web安全的学习中,不可避免的会接触到一些专业名词、协议工作流程、网络分层架构等知识点,提前了解这些对咱们接下来Web安全的学习是非常有帮助的,这些基础知识已经给大家整理到了WEB基础知识TCP/IP协议&OSI七层网络模型 这两篇文章中,了解完之后在下一章中,咱们再单独学习应用层中最重要的一个协议——HTTP协议。

2、HTTP协议

概述:

在完成了专业名词、协议工作流程、网络分层架构这些Web安全基础知识的学习后,大家对于TCP/IP协议以及OSI七层网络模型应该都有了一些了解,其中OSI七层网络模型的应用层是有很多常见的网络协议,比如http、file、ftp等,在这些协议中有一个和接下来要学习的Web安全关联很大的,也就是http协议。

  • 为什么要了解HTTP协议?

    HTTP协议作为Web中最常见的一种超文本传输协议,有必要拿出来单独的去分析研究以下,后面我们学习到的每一种Web漏洞,都可以通过分析HTTP协议来进行学习、测试,了解HTTP协议也能让我们更加直观的理解每种漏洞的原理和利用链。

  • HTTP协议的学习流程:

    不过咱们在浏览一个正常的网站的过程中,HTTP协议的报文咱们是没办法看到的,这里咱们就需要用到一些辅助我们查看http报文的工具——BurpSuite,结合burp工具和URL简介HTTP协议简介HTTP协议报文结构及状态码 这三篇文章了解学习HTTP协议。

3、SQL注入

概述:

在完成php留言板的开发之后,大家对于动态SQL语句应该已经有了一定的认识,就比如留言板中的登录页面,先接收前端登录框中的账号密码,再把接收过来的账号密码拼接到我们预设好的SQL语句中,这一过程便是动态SQL语句,而SQL注入正是因为用户输入带有恶意SQL语句的参数成功拼接到动态SQL语句中并且执行造成的,根据这里的参数传输方式传输的不同,可以把SQL注入分为GET型注入和POST型注入(相关知识回顾HTTP协议章节),根据不同的数据库,如Mysql、Mssql、Oracle等,它们所对应的SQL注入的语句和步骤也是有所不同的,那么接下来,平台将以Mysql数据库的注入为例,引导大家学习SQL注入漏洞。

基础:

  • 理解SQL注入基础原理

    SQL注入的理解,关键就在于对动态SQL语句,这里平台通过过一个登录框的例子对SQL注入进行了阐述,相关知识点通过以下文章学习——SQL注入基础

  • 掌握MySQL数据库特性及常用函数

    学习SQL注入,需要对mysql数据库的特性有一定的了解,如注释符号、数据库信息查询函数、连接字符串函数等的使用,这些特性以及函数的使用可以让我们灵活的应对不同的SQL注入场景,相关知识点通过以下文章学习—— MySQL数据库特性及常用函数

  • 掌握information_schema库的特性

    在Mysql数据库中有一个用来存放元数据的默认库——information_schema库, 其中存放的数据例如数据库名、表名、列的数据类型、访问权限等,而Mysql数据库SQL注入的学习便是围绕着information_schema库进行的,通过对information_schema库的探索,能迅速的了解整个Mysql数据库的结构,帮助定位我们需要获取的数据,相关知识点通过以下文章学习——information_schema库

  • 准备SQL注入学习靶场

    SQL注入学习阶段,需要提前准备好用于测试练习的靶场,平台首先推荐使用sql-labs靶场https://github.com/Audi-1/sqli-labs,靶场覆盖较为全面的注入类型与注入情景,其次也可以使用自己开发的留言板作为靶场。

入门:

  • 掌握联合查询注入

    SQL注入根据注入点情景的不同的,分为了不同的注入方法,如联合查询注入、报错注入、布尔盲注、时间盲注、宽字节注入等,但其中最基本的便是联合查询注入,其余的几种注入类型在流程和语句上都多多少少会与联合查询注入有一些相似的地方,所以这一阶段的重中之重也就是联合查询注入,相关知识点通过以下文章学习——联合查询注入

  • 掌握报错注入

    在SQL注入的测试过程中,会用到一些字符以及语句来判断注入点的字符类型、闭合符等,有时我们会发现,在使用一些语句测试时,页面会出现一些Mysql数据库的报错信息,当这种情况发生时,我们就可以考虑使用报错注入报错注入是利用一些聚合函数 把SQL语句的查询结果以错误的形式显⽰出来,平台给大家整理了一些常用的报错注入函数语句,相关知识点通过以下文章学习——报错型注入

  • 掌握盲注

    在联合查询注入学习完成之后,可以知道,联合查询注入是在页面有回显的前提下可以使用的,那么在发现页面无回显的情况下,就需用到另一种注入方式——盲注盲注是将SQL语句查询结果通过函数转换为数值,如使用length() 函数获取字符的长度数值;使用substr()函数逐个截取字符,再将截取的字符使用ascii()函数转换为对应的ascii码数值,通过数值大小的逻辑判断(> < =)结合二分法的使用,最终确定字符的长度以及ascii码对应的字符。

    • 在以上这些操作思路中有一个问题,便是通过哪些标准来确定逻辑判断的结果,这个问题需要进一步的结合注入点的情景,就比如注入点无回显,但是会根据查询语句的正确与否出现不同显示状况,那么我们就可以利用不同显示状况来确定逻辑判断的结果,对应的注入方法就叫做布尔盲注,相关内容通过 布尔盲注 这篇文章了解;

    • 当注入点无回显,而且页面不管查询语句的正确与否回显都一样,但是在我们在查询语句中加入了一个sleep(N)睡眠条件之后,发现页面返回速度明显慢了N秒,那么我们就可以利用sleep(N)睡眠条件的页面延迟结果来确定逻辑判断的结果,对应的注入方法就叫做时间盲注,相关内容通过 时间盲注 这篇文章了解;

  • 掌握宽字节注入

    在Mysql中,有许多用于转义的函数,如 addslashes()函数,作用就是给 单引号'、双引号"、反斜线\NULL等字符前加入\ ,会造成相关符号语义的变化,就比如\"是不能和"完成闭合的,SQL注入一个很重要的步骤就是要完成闭合符的闭合,所以转义函数常被用于防止SQL注入,但是这些转义函数是存在被绕过的可能的,也就是接下来要学习的一种注入方式——宽字节注入  ,宽字节注入的原理便是利用宽字节的特性,将转意字符\吃掉,进而让单引号'、双引号"等字符逃逸出去,相关知识点通过以下文章学习——宽字节注入

  • 掌握SQL注入读写文件

    SQL注入的利用不仅仅局限于信息的查询,在合适的情况下,甚至可以进行文件的读写,进而实现控制网站甚至服务器的目的,在这个过程中如何判断注入点是否满足写入文件的前提,以及如何使用Mysql数据库into outfile函数进行文件读写便是学习的主要内容,相关知识点通过以下文章学习——SQL注入读写文件

进阶:

  • 实战以及靶场练习

    想要快速提升SQL注入漏洞挖掘的能力,最好的方法就是尽可能多的接触不同的注入情景,想要接触这些不同的情景,可以通过实战也可以通过靶场,像前面介绍到的sql-labs靶场,靶场通过传参方式、闭合符、字符过滤、字符转义不同,准备了75种不同的注入场景,非常适合我们用来锻炼SQL注入漏洞挖掘能力。

  • 掌握Sql注入自动化工具的使用

    在有了较为熟练的SQL注入漏洞测试能力,并且也了解了大量的注入情景之后,可以尝试着学习注入自动化工具的使用,使用工具替代完成一些基础的、重复性的注入操作,平台推荐使用的是Sqlmap——一款开源的渗透测试工具,相关知识点通过以下文章学习——sqlmap的安装Sqlmap使用教程sqlmap的基础注入手法这篇文章了解,有能力的同学还可以分析一下Sqlmap的源码,尝试自己开发一款SQL注入工具。

  • 了解及掌握Mysql、SqlServer等常见数据库注入

    到这里恭喜你,平台Mysql数据库注入的相关知识已经完成了学习,并且用有了一定的SQL注入漏洞挖掘能力,但对于整个SQL注入漏洞来说,还远远不止这些,还需要大量的实战来提升我们的水平,在实战的过程中我们不仅仅会遇到Mysql数据库,经统计市场份额最大的是Oracle,占到了40%左右,其次才是MysqlSqlServer等数据库,对于这些不同的数据库,相应的SQL注入测试方法也是不同的,如果掌握这些,对于我们SQL注入能力的提升是非常巨大的,平台另外准备了Oracle数据库注入SqlServer数据库注入的相关文章以供大家了解学习。

4、文件上传

概述

  • 文件上传的目的是什么?

学习文件上传漏洞,最重要的便是需要知道文件上传的目的是什么,在之前的留言板开发过程中,我们接触到了php这一编程语言,php的功能是非常强大的,不仅仅是用来开发网站,甚至可以用来文件操作、执行系统命令等等,就比如咱们接触过的 move_uploaded_file()可以用来移动文件,系统命令执行的函数也有如execsystemeval 函数等,除了php其他的编程语言还有Javaasp等,对应的文件后缀有jspjspxaspaspx等都是可以实现文件操作、命令执行等功能,如果我们上传的是此类的可执行文件、脚本,并且网站没有做限制或者限制被绕过,以至于被解析的话,就可以实现控制网站甚至服务器的目的。

  • 在文件上传漏洞中,我们具体要学习什么?

现代的互联网Web应用程序,不可避免的会用到一些文件上传的功能,就比如附件、头像、更新等等,只要我们上传的脚本能够被正常解析,那么就可以实现控制网站的目的,这个过程只要我们提前准备好要上传的文件脚本,显然是没什么难度的,并不是我们初步学习文件上传时的难点,真正的难点在于这些文件上传功能并不会允许我们上传任意的文件类型,开发者一般会在文件上传位置对文件的类型加以限制,就比如附件只让上传.docx后缀文件,头像只让上传.png后缀文件,并且限制方式也是五花八门,像前端校验后缀的、服务器端校验后缀的、服务器端校验Content_Type的,那对应的有限制方式便有绕过方式,这些绕过方式就是我们在文件上传漏洞中主要学习的内容。

基础

  • 学习掌握轻量级的一些文件检测绕过技术

    在文件上传过程中,有一些常见的轻量级的文件检测机制,这些检测机制实现过程简单、服务器消耗资源小,深受开发者的喜爱,如客户端(前端)文件类型检测、服务端(后端)MIME文件类型检测、服务端上传路径检测等,相应的文件检测绕过技术通过以下文章学习掌握——轻量级的检测绕过

入门

  • 学习掌握一些服务端(后端)文件类型检测的绕过技术

    在服务端(后端)的文件类型检测机制中,开发者可以根据实际的需求,通过代码逻辑以及函数的方式定制网站的文件上传限制机制,这种限制机制对开发者的代码开发能力、服务器资源消耗要求是比较高的,对应文件上传的安全性也是比轻量级的检测技术较高的,相应的平台也整理了一些常见的绕过技术,从文件检测疏漏、服务器特性、中间件特性等多方面展示出来,如特殊文件名、点空格、::$DATA、00截断等,通过以下文章学习掌握——服务端拓展名检测绕过

  • 学习掌握文件内容检测绕过技术

    除了前面了解到的一些文件类型的检测机制,还有一种最为严苛的检测方式,便是直接检测文件的内容,这种方式对于服务器资源消耗要求是很高的,平台整理了一些绕过的手法,通过以下文章学习掌握——文件内容检测绕过

  • 学习掌握利用解析漏洞绕过文件类型检测技术

    在服务端(后端)文件类型检测的绕过技术学习过程中,我们最后提到了利用中间件的解析漏洞绕过文件检测的方式,在大家后面的实战过程中,大家会发现,在文件上传没有进展的过程中,解析漏洞的利用往往能起到奇效,并且大家在找工作面试时也会发现,面试官最喜欢考察的内容中就包括面试者对解析漏洞的了解,这里平台专门整理了各大中间件的解析漏洞原理和利用手法,通过以下文章学习掌握——解析漏洞  。

进阶

  • 靶场练习

    这里推荐靶场upload-lab靶场https://github.com/c0ny1/upload-labs,靶场覆盖了比较全面的文件检测机制,非常适合初学者用来学习文件上传漏洞。

  • 文件上传漏洞实战测试思路

    在我们了解完了这些常见的绕过手法之后,我们就可以到真实环境中进行实战了,但实战和咱们学习和靶场测试是有些区别,我们不可能说是在遇到一个上传点后,一个一个的绕过手法都去试一下,那么就需要我们掌握一套规范的测试流程,以最快的方式确定我们可以使用哪些绕过手法,是可以大大的减少我们测试的工作量的,通过以下文章学习掌握——上传漏洞整体思路

5、文件包含

概述

开发者将被包含的文件设置为变量,用来进行动态调用,当攻击者对这个变量可控而且服务端又没有做合理的校验或者校验被绕过就造成了文件包含漏洞,最终可以达成和文件上传类似的效果:getshell、执行任意脚本代码、控制网站甚至服务器。

  • 文件包含漏洞的利用中,我们具体要学习什么?

    当我们通过网站的功能测试,或者代码审计发现了一个文件包含的功能点之后,先要进一步的尝试文件包含漏洞的利用,就需要我们结合实战的环境以及灵活手法,就比如说最长见的一种文件包含场景,直接通过函数包含一个本地的或者是远程的可控文件路径,并且不管文件是什么后缀,都作为网站的脚本去执行, 那我们在这个过程中要做的便是首先上传一个编辑好的文件到网站本地或者远程服务器上,第二部再通过文件包含的功能点传入我们上传的文件路径,那么问题就来了,这些文件路径传输的过程中,部分开发者也会考虑到安全的文件,会在文件路径传输时对内容加以限制,就比如指定了文件的具体在哪个目录、指定了文件后缀,我们要学习的第一个重点便是绕过目录的限制以及、文件后缀的限制等

基础

  • 学习了解文件包含漏洞涉及到的函数以及原理等:

    文件包含常见的一些函数,就比如在开发php留言板时我们用过的 include( )require( ) 等,以及简单了解文件包含的基本分类——本地包含和远程包含,通过以下文章学习掌握——文件包含漏洞简介

  • 学习了解网站的特性,并掌握利用文件包含读取文件

    在前期部署可控文件的过程中,我们除了可以使用网站的文件上传功能,将我们准备好的文件上传到网站服务器上,我们还可以通过一些网站的特性,将我们的文本内容或者代码存储到目标的服务器上,比如如何控制Session文件、日志文件、临时文件等,相关知识点通过以下文章学习—— 文件包含读文件

  • 学习掌握利用文件包含读取图片马以及apache日志文件

    很多时候,再经过前期的测试之后,我们可能只能部署图片,或者根本就无法部署可控文件,那么这时就可以尝试部署一个图片马以及通过网站特性将代码直接写入到网站的日志文件中去,在这个过程中需要我们学习如何制作图片马以及对网站日志文件的工作模式有一个清楚的认识,相关知识点通过以下文章学习—— 图片马以及apache日志

  • 学习掌握远程文件包含的利用以及防御

    在前面的文件包含学习过程中,平台是以本地文件包含为例,带大家学习的文件包含漏洞的利用,那么接下啦平台给大家整理了当可控文件与网站服务不处于同一台服务器时,也就是远程文件的这种情况时,该如何进行文件包含漏洞的利用,以及如何进行防御,相关知识点通过以下文章学习—— 远程文件包含

进阶

  • 在实战过程中,如果我们发现网站是使用php搭建的,那么在利用文件包含漏洞时我们便可以结合php的伪协议进行测试,php支持的伪协议如:file://ftp://zlib://等,通过结合这些伪协议,我们可以读取到一些特定位置以及特定格式的文件,相关知识点通过以下文章学习—— PHP中的伪协议

6、XSS漏洞

概述

在学习xss漏洞之前,需要大家对html有一定的认识,我们在xss漏洞利用过程中会用到很多html的标签及Script代码。xxs的原理呢就是攻击者恶意往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的 。

基础

  • 学习掌握XSS漏洞的基本原理

    除了上面说到的我们需要对html有一定的认识外,我们还需要了解一下浏览器的同源策略,通过同源策略的了解,我们能够知道为什么可以在页面上访问到一些第三方的图片,脚本等资源。

    再者我们需要简单了解一下javascript脚本代码,我们要了解javascript脚本代码都能实现哪些功能操作,如获取浏览器的Cookie、键盘记录、截图等等,不要求大家能够熟练的编写javascript脚本,在后面的学习过程中,我们会引入一个非常重要的工具——XSS平台,以代替我们完成javascript脚本脚本部署的工作,相关知识点通过以下文章学习—— XSS漏洞的简介

  • 学习掌握XSS漏洞的分类及常用测试标签

    和我们学习过的几种漏洞类似,网站很多时候时不会允许我们填写任意的代码的,或者会对我们填写的代码进行一个实体化编码,那我们在xss漏洞的利用过程中就主要是学习如何绕过相应的一些限制,这就需要我们掌握足够多的标签及Script代码的用法,相关知识点通过以下文章学习—— XSS漏洞的分类

进阶

  • xss漏洞挖掘

    在掌握了足量的标签及Script代码的用法后,我们就可以进入到实战中,学习在不同的页面环境中应该使用哪种标签及Script代码利用xss漏洞,相关知识点通过以下文章学习—— XSS漏洞的挖掘

  • 学习掌握xss平台的使用

    当我们在xss漏洞实战挖掘的过程中,通过标签测试以及绕过手法,发现了一个xss漏洞,在这里我们可能是通过javascript标签实现了一个弹窗,但我们在实战中,xss漏洞的利用可不仅仅是一个简单的弹窗或者裂图,在xss漏洞基础知识的学习中,我们也了解过了javascript脚本代码能获取浏览器的Cookie、键盘记录、截图等等,这里我们只要通过XSS平台,就可以迅速的完成javascript脚本部署的工作,获取Cookie后可以试着使用cookie登录对应的网站,也可以尝试测试键盘记录、截图等其他功能,相关知识点通过以下文章学习—— XSS平台的使用

  • xss漏洞靶场练习

    这里推荐结合靶场xss-lab靶场https://github.com/do0dl3/xss-labs,靶场以反射型xss为例,以关卡的方式覆盖了比较全面页面环境,非常适合初学者用来学习xss漏洞。

7、CSRF漏洞

概述

CSRF的基础原理呢就是基于某些html标签是可以发送HTTP GET类型的请求的,就比如  <img>标签:<img src="http://www.baidu.com" />  ,利用这些标签挟持用户的浏览器发送任意的请求。

基础

  • 学习掌握CSRF漏洞的基本原理

    需要了解CSRF的基础原理,我们需要根据原理解析以及图解深入的思考一下CSRF漏洞攻击的利用连,以及CSRF的分类,相关知识点通过以下文章学习—— CSRF漏洞的简介

进阶

  • csrf漏洞实战挖掘和利用

    在完成CSRF的基础原理的学习之后,对于CSRF的两大分类——get型请求伪造和post型请求伪造应该也已经有了一定的认识,那么接下来我们就可以进入到CSRF漏洞的实战挖掘中去,首先就是怎样判断一个功能点存在CSRF漏洞,以及对于CSRF的两大分类都有哪些具体的伪造请求的操作,相关知识点通过以下文章学习——CSRF漏洞的挖掘。

......剩余内容 ,见SecHub安全社区!


三、强化阶段--实战渗透

前言

1、web漏洞挖掘

2、编写渗透测试报告

3、渗透测试工具使用

4、web开发与编程

Java

C++

PHP

Python

GO

5、编写POC和EXP等利用

6、社会工程学

社工库收集

钓鱼邮件

开源情报收集

结束

四、进阶阶段--专项提升

1、内网渗透

2、红蓝对抗

3、应急响应

4、代码审计

5、移动安全

6、CTF竞赛

7、风险评估

8、安全巡检


零基础学习网络安全,看这一篇就够了的评论 (共 条)

分享到微博请遵守国家法律