HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析

HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

大家好,今天我要分享的是关于HackerOne平台GIF图像处理的ImageMagick漏洞(CVE-2017–15277),漏洞很简单。

CVE-2017–15277介绍

CVE-2017–15277最早于2017年10月被安全研究人员Emil Lerner发现,它属于开源图像处理组件ImageMagick漏洞,受影响软件为ImageMagick 7.0.6–1和Graphicsmagick 1.3.26。原因在于,当ImageMagick在处理不具备全局或本地调色板的GIF图片时,ImageMagick 7.0.6–1和Graphicsmagick 1.3.26中存在未初始化的调色板,其coders/gif.c文件中ReadGIFImage存在安全漏洞,如果攻击者利用ReadGIFImage来处理GIF图片,构造操作,可以通过未初始化的调色板来间接获取到服务器中的内存数据信息。

简单地说就是,如果服务器中部署了ImageMagick 7.0.6–1和Graphicsmagick 1.3.26,且其中具备未初始化的调色板机制,那么,利用CVE-2017–15277,通过构造图片文件,上传至服务器中的任何可上传地方,之后,服务器通过处理这种构造图片,就会利用未初始化的调色板机制,把其转化成不同像素的图片预览文件,而在这些图片预览文件中,可能包含了一些和服务器内存相关的信息,如Stack trace(堆栈跟踪)和String value(字符串值)信息等。

此外,从实际功能来说,ImageMagick是一个显示、转换和编辑光栅图像和矢量图像文件的开源软件,它被用于许多web应用中的裁剪、调整大小和改变颜色功能,且支持多种图像格式。

漏洞利用

让我们直接来到漏洞利用部分吧,这里,我们以HackerOne网站为漏洞测试目标。

首先,我下载了Emil Lerner在Github上公布的漏洞利用包https://github.com/neex/gifoeb;

之后,利用下述命令来创建512×512像素的GIF漏洞利用(exploitable)图片:

./gifoeb gen 512×512 dump.gif

当然了,你也可以把生成的图片文件改成其它后缀格式,如.jpg 、.tiff 、.bmp等,也可以创建生成其它不同像素的漏洞利用图片:

HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析接着,登录我的HackerOne账户,尝试在用户资料的头像处上传上述命令生成的漏洞利用GIF图片:

HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析之后,服务器后端处理这种漏洞利用GIF图片后,就会生成相应的512×512像素的预览图片;

然后,在GIF格式下,我尝试生成了不同像素的漏洞利用图片,并把它们一一上传,以获取服务器后端生成的不同像素的预览图片:

HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析把这些不同像素的预览图片保存在一个文件夹中:

HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析最后,用以下命令恢复出这些预览图片中包含的服务器内存信息:

for p in previews/*; do ./gifoeb recover $p | strings; done

HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析可以看到,这些不同像素的预览图片中泄露了服务器内存中的运行信息,这些信息包含了服务器路径(path)、操作系统(OS)、软件版本等。

漏洞影响

该ImageMagick漏洞(CVE-2017–15277),可能会导致一些邮件、Cookie、SQL查询语句以及文件目录等服务器相关信息泄露。在上述的漏洞测试中,我们仅发现 了HackerOne的操作系统、文件目录和一些堆栈跟踪泄露信息。漏洞修复当然是升级ImageMagick组件至最新版本了。

漏洞利用建议

1、在最新的ImageMagick组件中,该漏洞利用被缓解修复了,如果向服务器上传漏洞利用图片后,你只会获得一张黑色的预览图片,这种图片不会泄露任何服务器内存信息;

2、即使你在一些漏洞利用场景中,可以获得服务器生成的预览图片,也要看看它是否存在涉及文件目录、操作系统版本等服务器相关的信息泄露,如果仅只是像 {{{*a/!a^a;bb(b|} 的一些堆栈跟踪信息,那还需要继续测试,别忙着上报漏洞;

3、构造不同分辨率和扩展名的漏洞利用图片,尤其是那些具有灰色像素的图片,它们包含的信息比蓝色、绿色或红色图片多得多。最终的可利用性和效果还得依不同网站和ImageMagick组件版本而言。

看完上述内容,你们掌握HackerOne平台ImageMagick漏洞导致服务器内存信息泄露的示例分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/221832.html

(0)
上一篇 2022年1月4日
下一篇 2022年1月4日

相关推荐

发表回复

登录后才能评论