使用policy.xml文件解决了ImageMagick的一些漏洞。我想知道我是否可以使用GraphicsMagick做同样的事情。
特别要考虑pixel flood attack exploit。此漏洞涉及在(小/常规大小)图像本身的编码中指定极大的像素值,以便当解码器尝试为整个图像分配存储器时,它占用所有存储器并导致dos攻击。据报道,它用于不同的应用程序(回形针),但同样的技术很容易应用于ImageMagick或GraphicsMagick。
ImageMagick recommends avoiding this sort of attack via the policy.xml文件。如何处理GraphicsMagick中的这个问题?或者GraphicsMagick以某种方式对此免疫?请解释。
答案 0 :(得分:2)
GraphicsMagick没有或识别policy.xml文件。
为了执行设置最大内存量等操作,可以设置软件的环境变量。运行命令gm convert -list resources
将显示当前分配的概述,格式如下:
Resource Limits (Q16, 64 bits/pixel, 64bit address)
Disk: Unlimited (MAGICK_LIMIT_DISK)
Files: 256 (MAGICK_LIMIT_FILES)
Map: 15.6GiB (MAGICK_LIMIT_MAP)
Memory: 7.8GiB (MAGICK_LIMIT_MEMORY)
Pixels: Unlimited (MAGICK_LIMIT_PIXELS)
Threads: 4 (OMP_NUM_THREADS)
Width: 256.0MiP (MAGICK_LIMIT_WIDTH)
Height: 256.0MiP (MAGICK_LIMIT_HEIGHT)
末尾以粗体表示的术语表示实际环境变量的名称,可以通过发出env MAGICK_LIMIT_MEMORY=200mb