pyLoad远程代码执行漏洞(CVE-2023-0297)复现以及原理流量特征分析

声明:

请勿用于非法入侵,仅供学习。传送门
-》中华人民共和国网络安全法

文章目录
  • 声明:
  • pyLoad介绍
  • 漏洞介绍
  • 影响版本
  • 不受影响版本
  • 漏洞原理
  • 漏洞环境搭建以及复现
  • 流量特征分析

pyLoad介绍

pyLoad是一个用 Python 编写的免费和开源下载管理器,可用于NAS、下一代路由器、无头家庭服务器以及任何能够连接到互联网并支持 Python
编程语言的设备。

漏洞介绍

pyLoad 存在代码注入漏洞,未经身份验证的攻击者可以通过滥用 js2py 功能执行任意 Python 代码。

影响版本

pyLoad <= 0.4.20
另外,小于0.5.0b3.dev31版本的pyLoad开发版本也受此漏洞影响。

不受影响版本

pyLoad > 0.4.20(正式版本尚未发布)
另外,官方已更新pyLoad安全开发版本0.5.0b3.dev31可供下载。

漏洞原理

这里直接给github链接,里面也有exp可进行利用
https://github.com/bAuh0lz/CVE-2023-0297_Pre-auth_RCE_in_pyLoad

此处通过request在前端页面处直接传值给jk
eval_js函数再将jk传入的值当成js代码来执行
也就是说此时我们可以执行任意js代码

在这里插入图片描述
并且程序中默认开启了pyimport

pyimport声明:
最后,Js2Py还支持使用“pyimport”语句从JavaScript导入任何Python代码

在这里插入图片描述
好的,到这里基本就差不多了,总结下原理:

1.直接在前端传值
2.传入内容为pyimport语句格式的字符串,然后赋值给上面的jk
3.jk中的pyimport语句字符串到下面被eval_js函数当成js代码执行了
4.此时字符串被js执行后,pyimport语句格式的字符串也就不再是字符串了,它就变成正常的js代码了,也就是说js会去加载执行pyimport
5.上面说了pyimport语句会将js代码导入python中执行
6.此时我们写入的恶意pyimport语句就会被带入python代码中执行

漏洞环境搭建以及复现

搭建环境的时候踩了很多坑,浪费了很多的时间

github上直接下载环境 https://github.com/pyload/pyload

可以进去下载历史版本进行搭建

因为我在搭建历史版本环境的时候总是报错,所以就没有使用历史版本。直接下载最新版本,然后将版本更新后的代码更改回去。

将程序放kali中,因为centospython的版本默认是2.7的,就懒得去弄了,直接放到kali
在这里插入图片描述
此处是更新后修改的内容,进入src/pyload/core/utils/misc.py中进行修改

在这里插入图片描述

到目录下执行
python3 setup.py build
python3 setup.py install
python3 setup.py build_locale
pyload
在这里插入图片描述
启动服务后访问9666端口

在这里插入图片描述

访问/flash/addcrypted2并用burp抓包,更改请求方式为POST

如果看懂了上面的漏洞原理分析,那么这个payload应该能秒懂

就是给jk参数传入pyimport语句,语句的内容为用os.system执行系统命令创建一个文件
到服务中eval_jsjk中的pyimport语句当js执行
pyimport变成js后继续执行,将后面的os.system当成python代码执行

在这里插入图片描述
发送数据包后查看tmp目录,命令执行成功

在这里插入图片描述

流量特征分析

通过wireshark抓取数据包分析
看数据包的时候发现,有的时候攻击的请求头是http协议有的时候是tcp协议,但返回包是http
就很不理解,问了下师傅,因该有可能是网络或者服务连接的问题

同样如果看懂了上面的漏洞原理分析,那特征也就很好提取了
1.请求方式为POST
2.url固定为/flash/addcrypted2
3.请求体中必须给jk传值,并且值必须含有pyimport
4.os.system执行命令
ps(我不知道python还有没有别的执行命令的函数哈,如果有,童鞋们的拦截规则可多添加几个)

在这里插入图片描述

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值