
Ich erstelle diese kleine Datei auf Basis einer Kombination aus Hexadezimalzahlen, die cat beschädigen kann, und das Terminal, das die Datei mit cat anzeigt; das Zurücksetzen funktioniert nicht mehr, vielleicht setzt es cat in eine Art Schleife? Kann das bitte jemand erklären? Es wird keine Probleme verursachen, aber führen Sie es nicht in der Produktion aus, da es einige Nebenwirkungen haben kann, die ich nicht gesehen habe:
Laden Sie Cat Killer Version 1 herunter
Geben Sie den Befehl „Katze kaputteKatze“ ein und Sie werden es sehen.
Vielleicht handelt es sich hier um ein Sicherheitsproblem mit Cat, das beliebigen Code ausführen kann?
Ein weiteres Beispiel: cat /usr/bin/vi kann einige Befehle ausführen, die am Ende nicht gefunden werden!
Gibt es eine sicherere Möglichkeit, Cat auszuführen?
Antwort1
Sie könnten cat -v /usr/bin/vi
die nicht druckbaren Zeichen als ASCII-Darstellungen drucken lassen und nicht als tatsächliche Steuerzeichen, die das Terminal möglicherweise zu verarbeiten versucht. Löst das Ihr Problem?
Antwort2
Sie sollten wirklich nicht beliebige Dateien „caten“. Das ist keine gute Idee, auch wenn die Datei nicht bösartig ist.
Sie können den Dateityp ermitteln, indem Sie beispielsweise das Programm „file“ ausführen file /usr/bin/vi
. Die Verwendung von „cat“ ist ohnehin eher auf niedriger Ebene. Versuchen Sie es vielleicht mit „more“ oder „less“. Wenn ich es versuche, more /usr/bin/vi
erhalte ich /usr/bin/vi: Not a text file
.
Sie können Ihr Terminal auch mit dem Befehl „reset(1)“ zurücksetzen. Allerdings müssen Sie ggf. , resetC-J
d. h. die Zeichenfolge „reset“, gefolgt von „Strg-J“, eingeben, wenn das Terminal im Raw-Modus landet.