Web安全最全学习路线 从入门到入职(含面试题 书籍 视频 路线图)

Posted 李志宽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web安全最全学习路线 从入门到入职(含面试题 书籍 视频 路线图)相关的知识,希望对你有一定的参考价值。

最近很多粉丝问我,为什么自己已经会黑客很多技巧了,但出去投简历都石沉大海了,那我觉得造成这原因是可能学的知识比较杂乱无章,没有进行系统的学习。

为了帮助到大家,小编整理了一些系统学习路线资料 总结了Web安全所要掌握哪些内容。

 

Web 安全

主要包括 HTTP 协议、注入漏洞、XSS 漏洞、SSRF 漏洞、CSRF 漏洞、文件处理漏洞、访问控制漏洞、会话管理漏洞等。

 

1.1 HTTP协议

http是一个简单的请求-响应协议,它通常运行在TCP之上。
它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。

学习要点:

  • 请求方法:OPTIONS, PUT, DELETE,和TRACE 方法的基本概念
  • HTTP请求的基本方法和产生的请求结果
  • HTTP 状态码的规范
  • HTTP 状态码的作用
  • 常见的 HTTP 状态码
  • HTTP 状态码 2**,3**,4**,5** 代表的含义
  • 用计算机语言获取 HTTP 状态码的方法
  • GET 请求的标准格式
  • POST 请求提交表单,上传文件的方法
  • HEAD 请求与 GET 请求的区别
  • 常见的 HTTP 响应头
  • HTTP 响应头的作用
  • HTTP 响应头的名称
  • HTTP 响应头的格式
  • URL 的基本概念
  • URL 的结构
  • URL 编码格式

1.2 注入漏洞

1.2.1 SQL注入

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

学习要点

  • SQL 注入漏洞原理
  • SQL 注入漏洞对于数据安全的影响
  • SQL 注入漏洞的方法
  • 常见数据库的 SQL 查询语法
  • MSSQL,mysql,ORACLE 数据库的注入方法
  • SQL 注入漏洞的类型
  • SQL 注入漏洞修复和防范方法
  • 一些 SQL 注入漏洞检测工具的使用方法

1.2.2 XML注入

XXE漏洞全称XML External Entity Injection即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。

学习要点

  • XML 注入漏洞产生的原因
  • XML 注入漏洞的利用方式
  • 如何修复 XML 注入漏洞

1.2.3 代码注入

1.2.3.1远程文件包含

即服务器通过 php 的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严格,从而可以去包含一个恶意文件,攻击者就可以远程构造一个特定的恶意文件达到攻击目的。

学习要点

  • 远程文件包含漏洞所用到的函数
  • 远程文件包含漏洞的利用方式
  • 远程文件包含漏洞代码审计方法
  • 修复远程文件包含漏洞的方法

1.2.3.2本地文件包含

文件包含漏洞的产生原因是 PHP 语言在通过引入文件时,引用的文件名,用户可控,由于传入的文件名没有经过合理的校验,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。当被包含的文件在服务器本地时,就形成的本地文件包含漏洞。了解 PHP 脚本语言本地文件包含漏洞形成的原因,通过代码审计可以找到漏洞,并且会修复该漏洞。

学习要点

  • 什么是本地文件包含漏洞
  • 本地文件包含漏洞产生的原因
  • 本地文件包含漏洞利用的方式
  • PHP 语言中的封装协议
  • 本地文件包含漏洞修复方法

1.2.4 命令执行

命令执行漏洞是指应用有时需要调用一些执行系统命令的函数,如:system()、exec()、shell_exec()、eval()、passthru(),代码未对用户可控参数做过滤,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。

学习要点

  • 什么是命令注入漏洞
  • 命令注入漏洞对系统安全产生的危害
  • 脚本语言中可以执行系统命令的函数
  • 第三方组件存在的代码执行漏洞如 struts2,weblogic等
  • 命令注入漏洞的修复方法

1.3 跨站脚本漏洞(XSS)

1.3.1 存储型XSS

攻击者事先将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。这就意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本,因此储存型XSS的危害会更大。因为存储型XSS的代码存在于网页的代码中,可以说是永久型的。

学习要点

  • 存储式 XSS 漏洞对安全的影响
  • 存储式 XSS 漏洞的特征和检测方法
  • 存储式 XSS 漏洞的危害
  • 修复存储式 XSS 漏洞的方式
  • 常用 WEB 漏洞扫描工具对存储式 XSS 漏洞扫描方法

1.3.2反射型XSS

反射型 XSS 也被称为非持久性 XSS。当用户访问一个带有 XSS 代码的 URL 请求时,服务器端接收数据后处理,然后把带有 XSS 代码的数据发送到浏览器,浏览器解析这段带有 XSS 代码的数据后,最终造成 XSS 漏洞。这个过程就像一次反射,故称为反射型 XSS 漏洞。

学习要点

  • 反射式 XSS 漏洞与存储式 XSS 漏洞的区别
  • 反射式 XSS 漏洞的触发形式
  • 反射式 XSS 漏洞利用的方式
  • 反射式 XSS 漏洞检测和修复方法

1.3.3DOM型XSS

DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。

学习要点

  • DOM 式 XSS 漏洞的触发形式
  • DOM 式 XSS 漏洞的检测方法
  • DOM 式 XSS 漏洞的修复方法

1.4 请求伪造漏洞

1.4.1 服务器请求伪造SSRF

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)。

学习要点

  • 什么是 SSRF 漏洞
  • 利用 SSRF 漏洞进行端口探测的方法
  • SSRF 漏洞的检测方法
  • SSRF 漏洞的修复方法

1.4.2 跨站请求伪造CSRF

跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。

学习要点

  • CSRF 漏洞产生的原因
  • CSRF 漏洞的原理
  • CSRF 漏洞与 XSS 漏洞的区别
  • CSRF 漏洞的挖掘和修复方

1.5 文件处理漏洞

1.5.1 任意文件上传

文件上传包括了上传头像,上传相册,上传附件,添加新闻图片,自定义主题背景,新闻投稿等等,开发者由于对安全意识不足,或者编写代码时对上传文件的合法校验存在缺陷,导致上传漏洞的产生或Web容器漏洞、CGI、配置不当等等

学习要点

任意文件上传漏洞产生的原因
服务端语言对上传文件类型限制方法
任意文件上传漏洞的危害
上传漏洞的检测思路和修复方法

1.5.2 任意文件下载

许多网站开放下载文件功能,由于下载功能代码对下载文件类型、目录未做限制或限制不当,导致攻击者可下载服务器任意文件。

学习要点

  • 什么是文件下载漏洞
  • 通过文件下载漏洞读取服务端文件的方法
  • 能够通过代码审计和测试找到文件下载漏洞
  • 修复文件下载漏洞的方法

1.6 访问控制漏洞

1.6.1 水平越权

水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而导致的越权数据访问漏洞。

学习要点

  • 水平越权漏洞的基本概念
  • 水平越权漏洞的形式
  • 水平越权漏洞对网站安全的影响
  • 水平越权漏洞的测试和修复方法

1.6.2 垂直越权

垂直越权是一种“基于URL的访问控制”设计缺陷引起的漏洞,又叫做权限提升攻击。由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。

学习要点

  • 垂直越权漏洞的基本概念
  • 垂直越权漏洞的种类和形式
  • 对网站安全的影响
  • 越权漏洞的测试方法和修复

1.6.3 未授权访问

未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。

学习要点

  • 如何去挖掘未授权访问
  • 未授权访问的危害
  • 未授权访问的修复方法

1.6.4 目录遍历

目录遍历漏洞原理比较简单,就是程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是../,也可是../的ASCII编码或者是unicode编码等。

学习要点

  • 目录遍历的成因以及概率
  • 如何探索目录遍历
  • 目录遍历的修复方法

1.7 会话管理漏洞

1.7.1 会话劫持

例如你Telnet到某台主机,这就是一次Telnet会话;你浏览某个网站,这就是一次HTTP会话。而会话劫持(Session Hijack),就是结合了嗅探以及欺骗技术在内的攻击手段。例如,在一次正常的会话过程当中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是代替某一方主机接管会话。

学习要点

  • 什么是会话劫持漏洞
  • 会话劫持漏洞的危害
  • Session 机制
  • HttpOnly 的设置方法
  • 会话劫持漏洞防御方法

1.7.2 会话固定

会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。

学习要点

  • 什么是会话固定漏洞
  • 会话固定漏洞的检测方法
  • 会话固定漏洞的形成的原因
  • 会话固定漏洞的风险
  • 会话固定漏洞的防范方法

那么如何来学习这些内容,小编为大家整理了网安系统学习路径图、Web安全视频、Web配套学习视频、面试题等(文末领取

Web安全最全学习路线 从入门到入职(含面试题 书籍 视频 路线图)

 

由于篇幅有限,只截取了Web安全部分

Web安全最全学习路线 从入门到入职(含面试题 书籍 视频 路线图)

 

Web安全最全学习路线 从入门到入职(含面试题 书籍 视频 路线图)

 

Web安全最全学习路线 从入门到入职(含面试题 书籍 视频 路线图)

 

需要这些资料的同学请关注+转发后 私信【安全】免费索取资料

总结:可以看出在学习Web安全的时候会用到很多知识版块,每一部分都是必不可少的。希望LZ的分享可以对大家学习Web安全有一定的帮助。

往期精彩:离谱!奇安信人事总监透露:Web安全不会岗位这些就别投简历了

以上是关于Web安全最全学习路线 从入门到入职(含面试题 书籍 视频 路线图)的主要内容,如果未能解决你的问题,请参考以下文章

Java从入门到入坟系列学习路线目录索引(持续更新中~~~)

小白怎么入职安全行业?肝了7天,让你从小白变黑客!

小白怎么入职安全行业?肝了7天,让你从小白变黑客!

小白怎么入职安全行业?肝了7天,让你从小白变黑客!

最全的BAT大厂面试题整理!2021Java开发学习路线

2021年最全MySQL学习之路——从入门到进阶史上最全的学习路线