首页 > 其他分享 >HTTP请求走私

HTTP请求走私

时间:2024-03-02 17:44:23浏览次数:14  
标签:HTTP 请求 Transfer Content Length 走私 服务器 TE

HTTP请求走私简介

HPPT请求走私是一种干扰网站处理HTTP请求系列方式的技术,请求走私大多发生于前端服务器对客户端传入的数据理解不一致的情况。这是因为HTTP规范提供了两种不同的方法来指定请求的结束位置,即Content-Length和Transfer-Encoding标头。

分类

  • CLTE:前端服务器使用Content-Length头,后端服务器使用Transfer-Encoding头
  • TECL:前端服务器使用Transfer-Encoding标头,后端服务器使用Content-Length标头。
  • TETE:前端和后端服务器都支持Transfer-Encoding标头,但是可以通过以某种方式来诱导其中一个服务器不处理它。

CL不为0的GET请求
当前端服务器允许GET请求携带请求体,而后端服务器不允许GET请求携带请求体,它会直接忽略掉GET请求中的Content-Length头,不进行处理。
前端服务器处理了Content-Length,而后端服务器没有处理Content-Length,基于pipeline机制认为这是两个独立的请求,就造成漏洞的发生。
CL-CL
根据RFC7230,当服务器收到的请求中包含两个Content-Length,而且两者的值不同时,需要返回400错误,但是有的服务器并没有严格实现这个规范。这种情况下,当前后端各取不同Content-Length值时,就会出现漏洞。
CL-TE
CL-TE指前端服务器处理Content-Length这一请求头,而后端服务器忽略掉Content-Length,处理Transfer-Encoding。
TE-CL
TE-CL指前端服务器处理Transfer-Encoding请求头,而后端服务器处理Content-Length请求头。
TE-TE
TE-TE指前后端服务器都处理Transfer-Encoding请求头,但是在容错性上表现不同,例如有的服务器可能会处理Transfer-encoding。
防御

  • 禁用后端连接重用
  • 确保连接中的所有服务器具有相同的配置
  • 拒绝有二义性的请求

标签:HTTP,请求,Transfer,Content,Length,走私,服务器,TE
From: https://www.cnblogs.com/kalixcn/p/18048973

相关文章

  • rewrk一个更现代的http框架基准测试实用程序
    引言    rewrk一个更现代的http框架基准测试实用程序。HTTP基准测试(HTTPbenchmarking)是一种测量和评估HTTP服务器或应用程序性能指标的活动。其目的是在特定条件下模拟大量用户请求,以测量服务器或应用程序的响应能力、吞吐量、延迟等指标,从而评估其性能表现。HTTP基准测试通......
  • Windows安装node.js以及环境配置、常见npm镜像源、npm安装包报错 解决https证书过期 r
    一、Windows安装node.js以及环境配置1、下载Node.js安装包Node.js官方网站,选择LTS版本或者最新版本,然后点击下载按钮。.msi是软件安装包、.zip是压缩包,解压之后即可,不需要安装2、运行安装程序下载完成后,双击安装包运行安装程序。安装完成后,在Node的安装目录下创建两个......
  • 记录一次 nginx+php 项目接口普通请求正常,但是上传接口500的问题
    由于nginx是我用brew命令安装的,很多配置都是没有更改的,包括 client_max_body_size都是默认的,上传文件时超出最大限制且缓存目录 client_body_temp没有设置写入权限,所以导致接口500打开nginx.conf将下面的配置追加到 http的最后,然后重启服务brewservicesrestartnginx......
  • IIS10 隐藏 http server、删除 Windows Server IIS 10 和 ASP.NET 中的 HTTP 响应标头
    一、方案1IIS10.0中的removeServerHeaderrequestFiltering在IIS10.0(WindowsServer2016/2019)中,您可以通过在system.webServer节点中配置requestFiltering来移除Server标头:web.config<security><requestFilteringremoveServerHeader="true"/></securit......
  • 请求参数的校验(2024-3-1)
    参数校验框架:springvalidation(使用预定义的注解完成参数校验)引入SpringValidation起步依赖~~~xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></depe......
  • 反射型xss的post请求获取cookie
    攻击者构造的网站地址:192.168.10.12:100受害者主机:192.168.10.134目标服务器:192.168.10.1步骤一:受害者主机访问目标服务器根据提示登录步骤二:输入xssPayload<script>document.location='http://192.168.10.12:100/pkxss/xcookie/cookie.php?cookie='+document.cookie<......
  • 在K8S中,Pod请求另一个pod偶尔出现超时或延迟,如何排查?
    在Kubernetes(K8S)中,当Pod请求另一个Pod时偶尔出现超时或延迟,可能是由于多种原因造成的。以下是一些建议的排查步骤:检查网络配置和插件:确认你的Kubernetes集群使用了合适的网络插件(如Calico、Flannel等),并且这些插件已经正确配置和部署。检查网络插件的状态和日志,确保它们正常运......
  • 模拟网页请求
    网络请求publicstringGetHsnfResult(stringcookie){varauthorization=cookie;HttpHelperhelper=newHttpHelper();HttpItemitem=newHttpItem(){URL="https://接口地址“,......
  • 聊聊 HTTP 性能优化
    哈喽大家好,我是咸鱼。作为用户的我们在"上网冲浪"的时候总是希望快一点,尤其是抢演唱会门票的时候,但是现实并非如此,有时候我们会遇到页面加载缓慢、响应延迟的情况。而HTTP协议作为互联网世界的基础,从网站打开速度到移动应用的响应时间,HTTP性能的优化直接关系到我们在网络世......
  • 解决Nginx代理转发中HTTP到HTTPS跳转问题的技术方案解析
    在进行Nginx代理转发时,经常会遇到HTTP到HTTPS跳转的问题,特别是在某些情况下,即使在程序中明确指定了使用HTTPS协议,仍然会出现跳转到HTTP的情况。本文将介绍一种解决这个问题的技术方案,并对问题的原因进行分析。问题描述在进行Nginx代理转发时,配置了HTTPS支持,但在程序中发起请求时......