NoD*_*ame 6 security png imagemagick image-processing
我正在玩图像上传到网站,我发现了这些减压炸弹攻击,当它被允许上传png
文件(和其他一些)时可以发生.由于我要更改上传的图像,我想确保我不会成为此攻击的受害者.因此,当检查png
文件是否是炸弹时,我是否可以只读取文件的标题并确保宽度和高度不超过设置限制,如4000x4000或其他什么?这是一种有效的方法吗?或者更好的方法是什么?
除了大的宽度和高度,减压炸弹还可能有过大的iCCP块,zTXt,块和iTXt块.默认情况下,libpng在某种程度上会对这些进行防御.
您的"imagemagick"标签表示您正在询问如何使用ImageMagick进行操作.ImageMagick的默认宽度和高度限制非常大:"convert -list resource"表示
资源限制:宽度:214.7MP高度:214.7MP面积:8.135GP
ImageMagick中的图像宽度和高度限制来自命令行"-limit"选项,我想这也可以通过各种ImageMagick API中的某个等效指令来传达.ImageMagick继承了libpng对iCCP块等的限制.
在IHDR块中伪造的较小宽度和高度值不会欺骗libpng或ImageMagick.他们只发出"额外压缩数据"警告并跳过IDAT数据的其余部分而不解压缩.