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)和页面劫持

相关推荐
szxinmai主板定制专家11 小时前
一种基于 RK3568+AI 的国产化充电桩安全智能交互终端的设计与实现,终端支持各种复杂的交互功能和实时数据处理需求
arm开发·人工智能·嵌入式硬件·安全
深盾安全12 小时前
静态库 vs 动态库:开发必备,效率与性能的平衡术!
安全
EnCi Zheng13 小时前
Spring Security 最简配置完全指南-从入门到精通前后端分离安全配置
java·安全·spring
字节跳动安全中心13 小时前
MCP 安全“体检” | 基于 AI 驱动的 MCP 安全扫描系统
安全·llm·mcp
Li zlun14 小时前
MySQL 性能监控与安全管理完全指南
数据库·mysql·安全
YoungLime15 小时前
DVWA靶场之十:DOM 型 XSS(DOM Based Cross Site Scripting (XSS))
网络·安全·web安全
mooyuan天天18 小时前
CTFHub 信息泄露通关笔记10:SVN泄露(2种方法)
web安全·信息泄露·ctfhub·svn泄露·源码泄露·dvcs ripper
xiejava101818 小时前
开源安全管理平台wazuh-文件完整性监控FIM
安全·开源·wazuh
国科安芯20 小时前
ASP4644芯片低功耗设计思路解析
网络·单片机·嵌入式硬件·安全
Bruce_Liuxiaowei1 天前
MQTT协议在物联网环境中的安全风险与防范指南
运维·网络·物联网·安全·网络安全