漏洞分类
简介
安全漏洞是信息系统在生命周期的各个阶段(设计、实现、运维等过程) 中产生的某类问题,这些问题会对系统的安全(机密性、完整性、可用性)产生影响。
Bug 与漏洞的关系
漏洞与Bug并不等同,他们之间的关系基本可以描述为:大部分的Bug影响功能 性,并不涉及安全性,也就不构成漏洞;大部分的漏洞来源于Bug i但并不是全部 它们之间只是有一个很大的交集。
根据威胁类型进行分类
威胁机密性、完整性
可导致关键系统被控制的漏洞 可以劫持程序执行流程,转向执行攻击者指定的任意指令、代码或命令,控 制应用系统或操作系统。 威胁最大,同时影响系统的机密性、完整性,甚 至在需要的时候可以影响可用性。 主要来源: 内存破坏类,命令/代码执行类漏洞
机密性:获取信息
可导致关键信息被泄露的漏洞 可以非法获取程序访问预期外的资源(文件、数据库等)并泄露给攻击者,影响系统的机密性。 主要来源: 输入验证类、配置错误类漏洞
可用性:拒绝服务
拒绝服务类漏洞 可以导致目标应用或系统暂时或永远性地失去响应正常服务的能力, 影响系统的可用性。 主要来源:内存破坏类、错误的异常处理等漏洞。
Web 攻击面
客户端
浏览器(如:各种 UXSS)
服务端
Web 程序本身
Web 框架(如:WordPress 各种漏洞)
中间件
Web Server(如:IIS 解析漏洞)
非 Web 层
目标服务器开放的其他服务(如:SSH、MySQL)
操作系统(如:DirtyC0w、MS17-010)
硬件漏洞(如:幽灵、熔断)
注入型漏洞分类
程序 = 数据(变量) + 指令(函数)
对于注入型漏洞(用户输入会最终传入危险函数)来说,函数决定漏洞类型。
当用户输入传入:
具有输出功能的函数 -> XSS
数据库操作函数 -> SQL 注入
具有命令执行功能的函数 -> 远程命令执行
具有代码执行的函数 -> 远程代码执行
具有请求功能的函数 -> SSRF
XML 解析功能的函数 -> XXE
Web 安全漏洞漏洞分类
Web 安全中很少涉及到内存破坏型漏洞,此处暂不介绍。 之后会有响应的讲师对内存破坏型漏洞进行介绍。
客户端
CSRF
XSS
服务端
注入类
SQL 注入(用户输入传入数据库操作函数)
远程命令执行(传入具有命令执行功能的函数)
远程代码执行(传入具有代码执行的函数)
反序列化
XXE
SSRF(传入具有请求功能的函数)
任意文件读取
语言特性导致(PHP)
文件上传
文件包含
变量覆盖
NodeJS
原型污染
逻辑漏洞
功能级访问控制缺失(越权)
条件竞争
失效的身份认证与会话管理
中间件
CLRF
运维
敏感信息泄漏
最后更新于