描述
敌人滥用的灵活性和解析和解释差异的HTTP请求消息使用不同的HTTP头信息,请求行和身体参数以及消息大小(用的消息表示给定的HTTP头)由不同的中介HTTP代理(例如,负载均衡器,反向代理,网络缓存代理,应用防火墙,等等),秘密未经授权的和恶意的HTTP请求发送到后端HTTP代理(例如,web服务器)。
看到CanPrecede关系可能的后果。
扩展描述
一个恶意的HTTP请求,其中包含第二个秘密嵌入式HTTP请求是被中介web代理解释为单一的良性的HTTP请求,转发到一个后端服务器,解释并解析HTTP请求两个授权良性的HTTP请求绕过安全控制。
这种攻击通常涉及滥用的HTTP头信息:内容长度和传输编码。这些弊端在RFC 2616 # 4.4.3节讨论# 4.2和相关分类和优先级的头。(REF-38]
另外这种攻击可以通过修改和/或执行起毛的参数组合HTTP消息的请求行。
这种攻击通常是由于使用过时的或不相容的HTTP协议版本在HTTP代理。
这不同于capec - 273HTTP响应走私,这通常是一个试图妥协客户机代理(例如,web浏览器)通过发送恶意内容从后端HTTP响应HTTP基础设施。HTTP请求走私是一个试图妥协后端HTTP代理通过HTTP请求消息。
HTTP分裂(capec - 105和CAPEC-34)不同于HTTP走私因为在实现异步请求,HTTP分裂需要嵌入/注射任意的HTML标题和内容通过用户输入浏览器cookie或Ajax web浏览器像XMLHttpRequest对象参数。
替代条款
术语:HTTP Desync 修改/操作的HTTP消息头,请求行和身体参数破坏和干涉的诠释和解析HTTP消息长度/边界连续HTTP消息通过在HTTP链或HTTP代理的网络路径。
攻击的可能性
典型的严重性
的关系
此表显示了其他的攻击模式和高水平类别相关的这种攻击模式。这些关系被定义为ChildOf ParentOf,给类似的项目可能存在的洞察力在较高和较低的抽象级别。此外,关系如光束,PeerOf, CanAlsoBe定义显示类似的攻击模式,用户可能想要探索。
自然 |
类型 |
ID |
的名字 |
ChildOf |
标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 |
220年 |
客户端-服务器协议操作 |
PeerOf |
详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 |
273年 |
HTTP响应走私 |
CanPrecede |
标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 |
63年 |
跨站点脚本(XSS) |
CanPrecede |
元在CAPEC攻击模式——元级别攻击模式的量化无疑是一个抽象的描述一个特定的方法或技术用于攻击。元攻击模式往往是空虚的一个特定的技术或实现,旨在提供一个高水平的理解方法。元级攻击模式是一个泛化的攻击模式相关的标准水平。元级攻击模式尤其适用于架构和设计水平的威胁建模练习。 |
115年 |
认证绕过 |
CanPrecede |
标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 |
141年 |
缓存中毒 |
CanPrecede |
元在CAPEC攻击模式——元级别攻击模式的量化无疑是一个抽象的描述一个特定的方法或技术用于攻击。元攻击模式往往是空虚的一个特定的技术或实现,旨在提供一个高水平的理解方法。元级攻击模式是一个泛化的攻击模式相关的标准水平。元级攻击模式尤其适用于架构和设计水平的威胁建模练习。 |
148年 |
内容欺骗 |
CanPrecede |
元在CAPEC攻击模式——元级别攻击模式的量化无疑是一个抽象的描述一个特定的方法或技术用于攻击。元攻击模式往往是空虚的一个特定的技术或实现,旨在提供一个高水平的理解方法。元级攻击模式是一个泛化的攻击模式相关的标准水平。元级攻击模式尤其适用于架构和设计水平的威胁建模练习。 |
154年 |
资源位置欺骗 |
CanPrecede |
标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 |
593年 |
会话劫持 |
此表显示了这种攻击模式的观点属于和顶级类别内的这一观点。
执行流程
探索
调查网络来识别目标:对手执行网络侦察监视相关流量识别的网络路径和解析HTTP消息的目标识别潜在目标。
技术 |
扫描网络指纹HTTP基础设施和监控HTTP流量识别HTTP网络路径工具等网络协议分析仪。 |
实验
在目标识别漏洞HTTP基础设施和技术:对手发送各种良性/模棱两可的HTTP请求来观察响应HTTP基础设施以识别差异/差异解释的HTTP请求和解析通过检查支持HTTP协议版本,消息大小和HTTP头。
导致微分HTTP响应HTTP请求通过试验确定漏洞:干扰对手发送恶意的HTTP请求中介的解析和后端HTTP基础设施,其次是正常/良性的HTTP请求的对手或一个随机的用户。恶意的HTTP请求的预期后果将在HTTP基础设施应对的正常/良性的HTTP请求确认适用性识别漏洞在对手的进攻计划。
技术 |
继续监控HTTP流量。 |
利用HTTP头的各种组合在一个HTTP请求,例如:内容长度和传输编码(CL, TE),传输编码&内容长度(TE; CL)或双传输编码(TE; TE),因此,额外的请求或数据嵌入在原始请求的主体是未加工的,作为后续请求的一部分目标HTTP代理。 从这些HTTP头组合敌人所观察到的任何时间延迟(通常在HTTP 404错误响应的形式)或任何其他意想不到的后果。
- CL, TE和TE; CL HTTP头的组合,第一个HTTP代理,在接收HTTP请求的HTTP消息路径,优先或只处理一个头而不是其他,而第二个/最后的HTTP代理进程相反的头,允许嵌入式HTTP请求被忽略和走私到预定目标HTTP代理。
- TE, TE HTTP头组合,在HTTP消息路径过程中所有HTTP代理传输编码头,然而,对手困惑(有关详细信息,请参阅移植)传输编码的头,不坚持严格的协议规范,可能会导致它被指定的未加工/忽略HTTP代理,因此允许嵌入式HTTP请求是走私。。
|
构建一个非常大的HTTP请求内容长度使用多个标题的各种数据的长度,可能导致后续请求被忽略的中介HTTP代理(防火墙)和/或最终解析分别由目标HTTP代理(web服务器)。 注意,大多数现代HTTP内容长度与多个基础设施拒绝HTTP请求头。 |
遵循一种不为人知的(有时一个RFC兼容)与随后的HTTP请求HTTP头,可能导致HTTP请求被忽略和解释前面的HTTP请求的一部分。 |
利用
执行HTTP请求走私攻击:使用知识发现在上面的实验部分中,走私消息导致的一个后果。
先决条件
额外的HTTP代理中介如防火墙应用程序或web缓存代理之间的对手,第二剂如web服务器,发送多个HTTP消息在相同的网络连接。 |
不同的方式两个HTTP代理解析和解释HTTP请求和它的头。 |
HTTP代理运行在HTTP / 1.1,允许维持模式,管线式查询,和分块查询和响应。 |
技能要求
(级别:中等) HTTP协议的详细知识:请求和响应消息的结构和使用特定的header。 |
(级别:中等) 具体的详细知识HTTP代理接收、发送、过程,解释,和解析各种HTTP消息和标题。 |
(级别:中等) 拥有知识的确切细节差异几个有针对性的HTTP代理在HTTP消息的路径解析消息结构和个人头。 |
所需资源
工具能够制作恶意HTTP消息和监控HTTP消息响应。 |
指标
不同处理的两个代理的请求。这需要仔细监测或能力的日志分析工具。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
完整性
可用性 |
执行未经授权的命令 |
|
保密
访问控制
授权 |
获得特权 |
|
完整性 |
修改数据 |
|
缓解措施
设计:评估HTTP代理之前部署差异解析/解释。 |
配置:前端HTTP代理通知模棱两可的请求。 |
配置:后端HTTP代理拒绝模棱两可的请求并关闭网络连接。 |
配置:禁用后端连接的重用。 |
配置:使用HTTP / 2的后端连接。 |
配置:使用相同的web服务器软件的前端和后端服务器。 |
实现:使用一个Web应用程序防火墙(WAF),内置缓解检测异常请求/响应。 |
配置:优先传输编码标题/内容长度,只要包含HTTP消息。 |
配置:不允许HTTP消息传输编码和内容长度内容长度或双标题。 |
配置:禁止/无效的传输编码标头用于模糊畸形,如:
- 头没有空间之前“分块”的价值
- 头用额外的空间
- 头开始尾随字符
- 头文件提供一个值“块”而不是“分块”(服务器正常化分块编码)
- 头与多个空间之前“分块”的价值
- 头用引用值(无论是单引号或双报价)
- 头与CRLF字符之前“分块”的价值
- 值和无效字符
|
配置:安装最新的供应商安全补丁可用中介和后端HTTP基础设施(即代理和web服务器) |
配置:确保HTTP基础设施在链或网络路径利用严格统一的解析过程。 |
实现:利用中介HTTP基础设施能够过滤和/或清除用户输入。 |
例子,实例
当使用Haproxy 1.5.3版本更正作为前端代理服务器和节点。js版本14.13.1或12.19.0作为后端web服务器可以使用两个相同的头字段例如:两个传输编码,传输编码:分块传输编码:chunked-false,绕过Haproxy /限制和接收Haproxy国旗国旗URI值,因为节点。js识别第一个标题但忽略了第二个标题。参见:cve - 2020 - 8287 |
当使用Sun Java Web代理服务器系统3。x或4。x结合太阳/ iPlanet 6。7 x, Sun Java系统应用服务器。x或8。x,可以绕过某些应用程序防火墙保护,web会话劫持,执行跨站脚本或走私毒药web代理缓存使用HTTP请求。HTTP请求的解析方式的差异通过代理服务器和应用程序服务器使恶意请求被偷运到应用服务器,从而让应用程序服务器提到的攻击。参见:cve - 2006 - 6276 |
Apache服务器2.0.45 1.3.34之前和版本,当作为一个代理,容易导致web缓存中毒和绕过因为非标准HTTP应用程序防火墙限制的行为。尽管HTTP / 1.1规范明确地请求“内容长度”和“传输编码:分块”头是无效的,脆弱的版本的Apache接受这样的请求和重组的“传输编码:分块”头没有取代现有的内容长度”“头或添加自己的。这导致HTTP请求走私使用请求一个分块的身体和一个头”内容长度:0”。参见:cve - 2005 - 2088 |
笔记
的关系
HTTP走私是一个进化之前的HTTP分裂技术矫正通常反对。
术语
HTTP分裂——“强迫行为(HTTP)消息的发送方发出的数据流组成的更多消息发送者的内涵。发送的消息是100%有效的,符合RFC的“ ref - 117]。
术语
HTTP走私——“强迫行为(HTTP)消息的发送方发出的数据流可以解析为一组不同的消息(即脱臼消息边界)比发送者的意图。这是通过迫使发送方发出的非标准消息,可以解释的方法不止一种,“( ref - 117]。
分类法映射
引用
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-08-04
(版本2.11) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns Resources_Required |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新引用,Taxonomy_Mappings |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新@Status Alternate_Terms,后果、描述Example_Instances, Execution_Flow, Extended_Description,指标,缓解措施,指出,先决条件,引用,Related_Attack_Patterns, Related_Weaknesses, Resources_Required Skills_Required |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Alternate_Terms、描述Extended_Description |
|