我正在尝试将图像上传到网站,我发现在允许上传时可能会发生这些减压炸弹攻击png
文件(和其他一些)。由于我要更改上传的图像,我想确保我不会成为这次攻击的受害者。因此,当涉及到检查是否png
文件是一个炸弹,我可以读取文件的标题并确保宽度和高度不超过设置的限制,例如 4000x4000 或其他吗?这是一个有效的方法吗?或者更好的方法是什么?
除了较大的宽度和高度之外,减压炸弹还可能具有过大的 iCCP 块、zTXt、块和 iTXt 块。默认情况下,libpng 在某种程度上防御这些。
您的“imagemagick”标签表明您正在询问如何使用 ImageMagick 来做到这一点。 ImageMagick的默认宽度和高度限制非常大:“convert -list资源”说
资源限制:宽度:214.7MP 高度:214.7MP 面积:8.135GP
ImageMagick 中的图像宽度和高度限制来自命令行“-limit”选项,我认为也可以通过各种 ImageMagick API 中的一些等效指令来传达该选项。 ImageMagick 从 libpng 继承了对 iCCP 块等的限制。
IHDR 块中伪造的较小宽度和高度值不会欺骗 libpng 或 ImageMagick。他们只是发出“额外压缩数据”警告并跳过 IDAT 数据的其余部分,而不对其进行解压缩。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)