HTTP 响应分割漏洞

HTTP 响应分割漏洞

1.漏洞概述

HTTP 响应拆分发生在以下情况:

  • 数据通过不受信任的来源(最常见的是 HTTP 请求)进入 Web 应用程序。
  • 该数据包含在发送给 Web 用户的 HTTP 响应标头中,且未经过恶意字符验证。

从根本上来说,攻击很简单:攻击者将恶意数据传递给易受攻击的应用程序,并且该应用程序将数据包含在 HTTP 响应标头中

要成功利用该漏洞,应用程序必须允许将包含 CR(回车符,也由 %0d\r 给出)和 LF(换行符,也由 %0a\n 给出)字符输入到标头


2.漏洞案例

以下代码段从 HTTP 请求中读取博客条目作者的姓名,并将其设置在 HTTP 响应的 cookie 标头中:

java 复制代码
String author = request.getParameter(AUTHOR_PARAM);
...
Cookie cookie = new Cookie("author", author);
cookie.setMaxAge(cookieExpiration);
response.addCookie(cookie);

一个正常的请求(例如"Jane Smith"),则包含此 cookie 的 HTTP 响应可能采用以下形式:

复制代码
HTTP/1.1 200 OK
...
Set-Cookie: author=Jane Smith
...

如果攻击者提交恶意字符串,例如"Wiley Hacker\r\nContent-Length:999\r\n\r\n...",则 HTTP 响应将被拆分为冒名顶替者响应,后跟原始响应:

复制代码
HTTP/1.1 200 OK
...
Set-Cookie: author=Wiley Hacker
Content-Length: 999

<html>malicious content...</html> (to 999th character in this example)
Original content starting with character 1000, which is now ignored by the web browser...

攻击者构造任意 HTTP 响应的能力允许产生各种攻击,包括:跨用户破坏、缓存中毒、跨站点脚本 (XSS)和页面劫持

相关推荐
上海云盾第一敬业销售32 分钟前
网站安全防护策略与误报处理方案探索
网络协议·web安全·ddos
某林2122 小时前
ROS 2 与大模型融合实战:从进程连环崩溃到类型安全防御的深度排障复盘
c++·python·安全·机器人·人机交互·ros2
m0_738120722 小时前
渗透测试基础——PHP 序列化数据结构与反序列化机制详解
android·服务器·网络·数据结构·安全·php
超级无敌zhq3 小时前
内网横向移动实战:从单点攻破到域控沦陷
网络·安全·web安全·网络安全
202321336073 毛敏磊3 小时前
个人总结——网络安全与软件工程综合实践
安全·web安全·软件工程
德迅云安全-甲锵3 小时前
SCDN:以极致节点能力,重塑网络安全与加速新体验
安全·web安全
网安小白的进阶之路3 小时前
B模块 安全通信网络 第二门课IPv6与WLAN 04
网络·安全·智能路由器
CJH(本人账号)3 小时前
AI Agent 安全危机:当你的“智能助手“变成攻击者的“远程武器“
网络·人工智能·安全·ai·开源·github
ylscode4 小时前
谷歌Gemini Go正式登场:轻量级AI助手让低端手机也能玩转生成式智能
网络·人工智能·安全·chatgpt
许彰午4 小时前
微服务安全上下文的透明传递——ThreadLocal透传与HTTP头转发的完整链路
安全·http·微服务