网络攻防学习笔记 Day36
HTTP 消息头注入是指在重定向或生成 Cookie 时,基于外部传入的参数生成 HTTP 响应头时所产生的安全问题。HTTP 响应头信息一般以文本格式逐行定义消息头,即消息头之间互相以换行符隔开。
Apache 服务器从 CFG 脚本中接收的消息头中如果有多个 Location 消息头,就会只将最后一个 Location 消息头作为响应返回。
与 HTTP 消息头注入攻击相关且攻击原理类似的另一种攻击是 HTTP 响应截断攻击(HTTP Response Splitting Attack)。HTTP 响应截断攻击通过 HTTP 消息头注入生成多个 HTTP 响应,使网络中的缓存服务器(或代理服务器)将伪造的内容进行缓存,后续的访问将得到的是攻击者产生的内容。
当使用 HTTPS 时,下述通信内容被加密:请求的文件的 URL,文件的内容,浏览器表单的内容(由浏览器使用者填写),从浏览器发送到服务器或从服务器发送给浏览器的 Cookie,HTTP 标题的内容。
HTTPS 连接包括多个层面的意思。在 HTTP 层面,一个 HTTP 用户通过向下一层(TCP 或 SSL/TLS)发送一个连接请求来向服务器请求建立一条连接;在 TLS 层面,一个会话建立在一个 TLS 用户和一个 TLS 服务器之间,可以在任何时间支持一条或多条 TLS 连接。一条 TLS 连接请求的开始总是伴随着一条 TCP 连接的建立。
一个 TLS 实体在关闭一条连接之后可能会选择再次使用这个会话,即恢复一条连接。
“HSTS”的全称是“HTTP Strict Transport Security”,是由 IETF 提出的一种新的 Web 安全协议,其目的是强制客户端(如 Web 浏览器)使用 HTTPS 与服务器进行通信。
与 HTTP /1 相比,HTTP/2 保留了 HTTP 方法、状态码与语义等方面的内容,主要变化在:
①引入了多路复用技术:同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流,每个数据流都以消息的形式发送,而消息又由一个或多个帧组成,多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装;
②采用二进制格式传输数据,而非 HTTP/1 的文本格式,二进制协议解析起来更高效;
③在客户端和服务器端使用“首部表”来跟踪和存储之前发送的键-值对,对于相同的数据,不再通过每次请求和响应发送,大大降低 HTTP /1 中的重复头部开销。
WAF 主要提供对 Web 应用层数据的解析,对不同的编码方式做强制多重转换还原为可分析的明文,对转换后的消息进行深度分析。
主要的分析方法有两类,一类是基于规则的分析方法,另一类是异常检测方法。基于规则的分析方法对每一个会话都要经过一系列的安全检查,每一项检查都由一条或多个检测规则组成,如果检测没通过,请求就会被认为非法并拒绝。这种方法主要针对的是已知特征的 Web 攻击,对已知攻击的检测比较准确,主要缺点是无法检测未知攻击特征的攻击,且检测规则的配置比较复杂。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/01645f93db4f2bc0e8a3ecaf5】。文章转载请联系作者。
评论