Ich habe einen Kollegen, der sagt, dass Sie vorsichtig sein müssen, um Tarballs zu extrahieren, da sie Änderungen vornehmen können, die Sie nicht kennen. Ich habe immer gedacht, dass ein Tarball nur eine Hierarchie komprimierter Dateien ist. Wenn Sie ihn also nach / tmp / example / extrahieren, kann er unmöglich eine Datei in / etc / oder so etwas schleichen.
27
-P
Option, die sein Verhalten in dieser Hinsicht beeinflusst./etc/passwd
falls es als root ausgeführt wurde. Ich glaube, dass dies seitgtar
einiger Zeit eine ähnliche Sicherheit bietet wie Siestar
.Antworten:
Verschiedene Dienstprogramme verhalten sich in dieser Hinsicht unterschiedlich. Es ist also gut, vorsichtig zu sein. Listen Sie für eine Tar-Datei, die Sie nicht erstellt haben, immer das Inhaltsverzeichnis auf, bevor Sie sie extrahieren.
Solaris-Teer :
Im Fall einer TAR-Datei mit vollständigen (absoluten) Pfadnamen, wie z.
... wenn Sie eine solche Datei extrahieren, erhalten Sie beide Dateien.
GNU Teer :
... wenn Sie eine Tar-Datei mit vollständigem Pfad mit GNU tar extrahieren, ohne die
-P
Option zu verwenden, werden Sie darauf hingewiesen :und extrahiert die Datei in Unterverzeichnisse Ihres aktuellen Verzeichnisses.
AIX-Teer :
sagt nichts darüber aus und verhält sich wie der Solaris-Teer - er erstellt und extrahiert Teer-Dateien mit vollständigen / absoluten Pfadnamen.
HP-UX tar : (bessere Online-Referenz erwünscht)
OpenBSD tar :
Unter macOS, FreeBSD und NetBSD sind ebenfalls
-P
Optionen implementierttar
, mit der gleichen Semantik, mit dem Zusatz, dasstar
unter FreeBSD und macOS "das Extrahieren von Archiveinträgen verweigert wird, deren Pfadnamen enthalten..
oder deren Zielverzeichnis durch einen Symlink geändert wird", ohne-P
.schilytools star :
quelle
..
ist ein Sicherheitsrisiko, so verwendenstar
oder ein kürzlichegtar
. Schauen Sie sich auch diestar
Beispiel-Tar-Archive an, die handgefertigtetar
Header enthalten, die bei den meistentar
Implementierungen dazu führen, dass Dateien ohne Warnung entfernt werden.tar
Solaris, AIX und HP-UX? Wenn ja, warum nur auf GNU-Teer hinweisen, vor allem, wenn (wiederum gemäß dem obigen Zitat) sie geändert haben, um nicht zu akzeptieren..
? Probleme mit fehlerhaften Eingaben sind natürlich Fehler, und ich nehme an, Sie haben sie als solche gemeldet.star
solche Liste ohne Erwähnung (die älteste freie Implementierung) muss als unvollständig angesehen werden.Eines der lustigen Dinge, die mit Teerbomben passieren , ist, dass sie die Berechtigungen des aktuellen Verzeichnisses in das im Tarball enthaltene Verzeichnis ändern.
Zum Beispiel, wenn ein Tarball das '.' Wenn Sie das Verzeichnis in / tmp als root entpacken, wird es Ihr System ruinieren, indem Sie / tmp für alle außer root unbeschreibbar machen.
quelle
/
, werden die Berechtigungen des Stammverzeichnisses geändert, was unerwartete Konsequenzen hat (ich erinnere mich, dass beim Anmelden an einer Konsole "/ bin / bash kann nicht ausgeführt werden" angezeigt wurde, da/
es sich um Modus 770 handelte).