it-swarm.com.de

convert: nicht autorisiert "aaaa" @ error/const.c/ReadImage/453

Ich möchte ein Captcha-Bild erstellen, indem Sie convert von ImageMagick verwenden.

Und ich folge this , aber es gibt einige Probleme.

Eingabe in meiner Linux-Shell:

convert -background white -fill black -font FreeSerif-Bold -pointsize 36 label:'adfgh' ./test.png

Der Fehler ist:

convert: nicht berechtigt adfgh @ error/const.c/ReadImage/453 ..__ Konvertieren: Es fehlt ein Dateiname ./test.png @ error/convert.c/ConvertImageCommand/3015

Mein ImageMagick: Version: 6.7.2-7, ich installiere es mit yum install ImageMagick.

Ich habe keine Ahnung. Irgendwelche Ratschläge bitte?

200
jianwei

Ich verwende ImageMagick in PHP (v.7.1), um die PDF -Datei in Bilder zu schneiden.

Zuerst bekam ich Fehler wie:

Ausnahmetyp: ImagickException

Ausnahmemeldung: nicht berechtigt ..... @ error/const.c/ReadImage/412

Nach einigen Änderungen in /etc/ImageMagick-6/policy.xml bekomme ich Fehler wie:

Ausnahmetyp: ImagickException

Ausnahmemeldung: Temporäre Datei kann nicht erstellt werden ..... Berechtigung verweigert @ error/pdf.c/ReadPDFImage/465

Mein Fix:

In der Datei /etc/ImageMagick-6/policy.xml (oder /etc/ImageMagick/policy.xml)

  1. kommentarzeile

    <!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
    
  2. zeile wechseln

    <policy domain="coder" rights="none" pattern="PDF" />
    

    zu

    <policy domain="coder" rights="read|write" pattern="PDF" />
    
  3. zeile hinzufügen

    <policy domain="coder" rights="read|write" pattern="LABEL" />
    

Dann neustarten Sie Ihren Webserver (nginx, Apache).

314
sNICkerssss

Ich verwende oft den ImageMagic-Befehl convert, um *.tif-Dateien in *.pdf-Dateien zu konvertieren.

Ich weiß nicht warum, aber heute habe ich folgende Fehlermeldung erhalten:

convert: not authorized `a.pdf' @ error/constitute.c/WriteImage/1028.

Nach dem Ausgeben des Befehls:

convert a.tif a.pdf

Nachdem ich die obigen Antworten gelesen hatte, editierte ich die Datei /etc/ImageMagick-6/policy.xml

und änderte die Zeile:

policy domain="coder" rights="none" pattern="PDF" 

zu

policy domain="coder" rights="read|write" pattern="PDF"

und jetzt funktioniert alles gut.

Ich habe "ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28" Auf "Ubuntu 16.04.5 LTS".

105
Lv2eof

Es gibt eine /etc/ImageMagick/policy.xml-Datei, die von yum installiert wird. Es verbietet fast alles (aus Sicherheitsgründen und um Ihr System vor Überlastung mit ImageMagick-Aufrufen zu schützen).

Wenn Sie wie oben eine ReadImage-Fehlermeldung erhalten, können Sie die Zeile wie folgt ändern:

<policy domain="coder" rights="read" pattern="LABEL" />

was sollte das Problem beheben.

Die Datei enthält eine Reihe von Dokumentationen, also sollten Sie diese lesen. Wenn Sie beispielsweise mehr Berechtigungen benötigen, können Sie sie wie folgt kombinieren:

<policy domain="coder" rights="read|write" pattern="LABEL" />

..., das dem Entfernen aller Berechtigungsprüfungen vorzuziehen ist (d. h. Löschen oder Kommentieren der Zeile).

49
kristina

Die Antwort mit den höchsten Stimmen (ich habe nicht genug Reputation, um dort einen Kommentar hinzuzufügen) schlägt vor, die MVG-Zeile zu kommentieren.

CVE-2016-3714

ImageMagick unterstützt ".svg/.mvg" -Dateien. Angreifer können Code in einer Skriptsprache erstellen, z. MSL (Magick Scripting Language) und MVG (Magick Vector Graphics) laden Sie es auf einen Server hoch verkleidet als Bilddatei und zwingt die Software zur Ausführung bösartiger Befehle auf der Serverseite wie oben beschrieben. Zum Beispiel das Hinzufügen der Befolgen Sie die Befehle in einer Datei und laden Sie sie auf einen Webserver hoch, der .__ verwendet. Eine anfällige ImageMagick-Version führt zur Ausführung des Befehls "ls -la" auf dem Server.

exploit.jpg:

Schieben Sie die Grafik-Kontext-Viewbox 0 0 640 480 füllen 'url ( https://website.com/image.png "| ls" -la) "Pop-Grafik-Kontext

Und 

Jede Version unter 7.0.1-2 oder 6.9.4-0 ist potenziell anfällig und Betroffene sollten so schnell wie möglich auf den neuesten Stand ImageMagick-Version.

Quelle

21
Nikolay Ivanov

Wenn jemand nach der Installation einen Befehl ausführen muss, führen Sie dies aus!

sed -i 's/<policy domain="coder" rights="none" pattern="PDF" \/>/<policy domain="coder" rights="read|write" pattern="PDF" \/>/g' /etc/ImageMagick-6/policy.xml
18
Armen

Nach einem kürzlich erfolgten Update auf meinem Ubuntu 16.04-System habe ich auch diese Fehlermeldung erhalten, als ich versuche, convert auf .ps-Dateien auszuführen, um sie in pdfs zu konvertieren. 

Dieses Update funktionierte für mich: 

In einem Terminallauf:

Sudo gedit /etc/ImageMagick-6/policy.xml

Dadurch sollte die Datei policy.xml im Texteditor gedit geöffnet werden. Wenn dies nicht der Fall ist, wird Ihr Image-Magick möglicherweise an einem anderen Ort installiert. Dann ändern 

rights="none" 

zu 

rights="read | write" 

für PDF-, EPS- und PS-Zeilen am unteren Rand der Datei. Speichern und beenden und Image Magick sollte dann wieder funktionieren. 

14
Murray Hoggett

Löschen Sie einfach die Datei /etc/ImageMagick/policy.xml.

1

Ich hatte auch den fehler error/constitute.c/ReadImage/453 beim konvertieren eines eps in ein gif mit image magick. Ich habe die von sNICkerssss vorgeschlagene Lösung ausprobiert, hatte aber immer noch Fehler (obwohl sie sich von der ersten unterscheiden). E error/constitute.c/ReadImage/412 Das Problem wurde gelöst, indem read an andere Einträge angehängt wurde

 <policy domain="coder" rights="read" pattern="PS" />
 <policy domain="coder" rights="read" pattern="EPS" />
 <policy domain="coder" rights="read" pattern="PDF" />
 <policy domain="coder" rights="read" pattern="XPS" />
 <policy domain="coder" rights="read|write" pattern="LABEL" />
0
lambertmular