jia*_*wei 274 imagemagick imagemagick-convert
我想通过convert
ImageMagick 创建一个验证码pic .
我遵循这个,但有一些问题.
输入在我的linux shell中:
convert -background white -fill black -font FreeSerif-Bold -pointsize 36 label:'adfgh' ./test.png
Run Code Online (Sandbox Code Playgroud)
错误是:
转换:未授权
adfgh
@ error/construct.c/ReadImage/453.转换:缺少图像文件名./test.png
@ error/convert.c/ConvertImageCommand/3015
我的ImageMagick:版本:6.7.2-7,我安装它yum install ImageMagick
.
我很无能为力.有什么建议吗?
sNI*_*sss 396
我在php(v.7.1)中使用ImageMagick将PDF文件切片为图像.
首先我得到的错误如下:
异常类型:ImagickException
异常消息:未授权..... @ error/construct.c/ReadImage/412
经过一些变化,convert
我开始变得像以下一样的错误:
异常类型:ImagickException
异常消息:无法创建临时文件.....权限被拒绝@ error/pdf.c/ReadPDFImage/465
我的修复:
在文件/etc/ImageMagick-6/policy.xml
(或/etc/ImageMagick-6/policy.xml
)
评论行
<!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
Run Code Online (Sandbox Code Playgroud)改变线
<policy domain="coder" rights="none" pattern="PDF" />
Run Code Online (Sandbox Code Playgroud)
至
<policy domain="coder" rights="read|write" pattern="PDF" />
Run Code Online (Sandbox Code Playgroud)添加行
<policy domain="coder" rights="read|write" pattern="LABEL" />
Run Code Online (Sandbox Code Playgroud)然后重新启动您的Web服务器(nginx,apache).
小智 143
我使用ImageMagic convert
命令多次将*.tif
文件转换为*.pdf
文件.
我不知道为什么但是今天我开始收到以下错误:
convert: not authorized `a.pdf' @ error/constitute.c/WriteImage/1028.
Run Code Online (Sandbox Code Playgroud)
发出命令后:
convert a.tif a.pdf
Run Code Online (Sandbox Code Playgroud)
阅读完上述答案后,我编辑了该文件 /etc/ImageMagick-6/policy.xml
并改变了这条线:
policy domain="coder" rights="none" pattern="PDF"
Run Code Online (Sandbox Code Playgroud)
至
policy domain="coder" rights="read|write" pattern="PDF"
Run Code Online (Sandbox Code Playgroud)
现在一切正常.
我在"Ubuntu 16.04.5 LTS"上有"ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28".
kri*_*ina 58
有一个/etc/ImageMagick/policy.xml
由yum安装的文件.它几乎不允许所有内容(为了安全起见,保护您的系统不会因为ImageMagick调用而过载).
如果您收到上述ReadImage
错误,可以将该行更改为:
<policy domain="coder" rights="read" pattern="LABEL" />
Run Code Online (Sandbox Code Playgroud)
这应该解决问题.
该文件中包含大量文档,因此您应该阅读它.例如,如果您需要更多权限,可以将它们组合为:
<policy domain="coder" rights="read|write" pattern="LABEL" />
Run Code Online (Sandbox Code Playgroud)
...最好删除所有权限检查(即删除或注释掉行).
Arm*_*men 26
如果有人需要在安装后使用一个命令执行此操作,请运行此命令!
sed -i 's/<policy domain="coder" rights="none" pattern="PDF" \/>/<policy domain="coder" rights="read|write" pattern="PDF" \/>/g' /etc/ImageMagick-6/policy.xml
Run Code Online (Sandbox Code Playgroud)
Nik*_*nov 23
得票最多的答案(我没有足够的声誉在那里添加评论)建议评论出MVG线,但请记住:
CVE-2016-3714
ImageMagick支持".svg/.mvg"文件,这意味着攻击者可以使用脚本语言编写代码,例如MSL(Magick Scripting Language)和MVG(Magick Vector Graphics),将其上传到伪装成图像文件的服务器并强制执行如上所述,在服务器端运行恶意命令的软件.例如,在文件中添加以下命令并将其上载到使用易受攻击的ImageMagick版本的Web服务器将导致在服务器上运行命令"ls -la".
exploit.jpg:
push graphic-context viewbox 0 0 640 480填充'url(https://website.com/image.png "| ls"-la)'pop graphic-context
和
任何低于7.0.1-2或6.9.4-0的版本都可能存在漏洞,受影响的各方应尽快升级到最新的ImageMagick版本.
小智 13
在我的Ubuntu 16.04系统最近更新后,我也尝试在.ps文件上运行转换以将它们转换为pdf时出现此错误.
这个修复对我有用:
在终端运行中:
sudo gedit /etc/ImageMagick-6/policy.xml
Run Code Online (Sandbox Code Playgroud)
这应该在gedit文本编辑器中打开policy.xml文件.如果没有,您的图像magick可能安装在不同的地方.然后改变
rights="none"
Run Code Online (Sandbox Code Playgroud)
至
rights="read | write"
Run Code Online (Sandbox Code Playgroud)
用于文件底部附近的PDF,EPS和PS行.保存并退出,然后图像magick应该再次工作.
只需删除/etc/ImageMagick/policy.xml文件。
小智 5
我在尝试将 pdf 转换为 jpg 时遇到此错误并使用以下方法解决了它: sudo vi /etc/ImageMagick*/policy.xml
改变:
策略域=“编码器”权限=“无”模式=“PDF”
到:
策略域=“编码器”权限=“读|写”模式=“PDF”
来源:http ://realtechtalk.com/ImageMagick_Convert_PDF_Not_Authorized-2217-articles