您的要求无法实现:如果您使用的某个图像读取库中存在0天漏洞,则在尝试解析和清理传入文件时,您的代码可能会被利用.一旦收到图像,通过"预启动",你只需要提前开发而不是更晚.
唯一有用的是在沙盒中解析和清理传入的图像,这样,至少,如果存在漏洞,它将被包含在沙箱中.沙箱可以是一个单独的进程,作为chroot
环境中的非特权用户运行(或者对于非常偏执的VM),其界面仅包含字节流,清理后的图像输出.
清理本身可以像使用ImageMagick打开图像,将其解码为栅格,以及以标准格式(例如,PNG或JPEG)重新编码和发射它们一样简单.请注意,如果输入和输出都是有损格式(如JPEG),则此转换将是有损的.
归档时间: |
|
查看次数: |
2056 次 |
最近记录: |