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

相关推荐
xixixi777776 小时前
量子通信是当前信息安全和通信领域最前沿、最具变革性的技术之一
安全·信息安全·量子计算·通信·量子通信·密钥·传输
WLJT1231231236 小时前
守护自然与滋养民生的绿色之路
大数据·安全
C++ 老炮儿的技术栈7 小时前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
五仁火烧7 小时前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue
专业开发者7 小时前
借助安全返场方案提升智慧建筑能效的新机遇
物联网·安全
菩提小狗8 小时前
Sqlmap双击运行脚本,双击直接打开。
前端·笔记·安全·web安全
●VON9 小时前
跨模态暗流:多模态安全攻防全景解析
人工智能·学习·安全·von
廋到被风吹走10 小时前
【Spring】Spring Boot 配置管理深度指南:Profile、类型安全与加密
spring boot·安全·spring
王火火(DDoS CC防护)10 小时前
多域名业务如何做好DDoS安全防护?
安全·ddos防御·ddos攻击
维构lbs智能定位11 小时前
基于UWB定位技术的工地安全管理系统从技术原理到功能应用详解
网络·安全·工地安全管理系统