Mam współpracownika, który mówi, że musisz uważnie wyciągać tarballi, ponieważ mogą wprowadzać zmiany, o których nie wiesz. Zawsze myślałem, że archiwum to po prostu hierarchia skompresowanych plików, więc jeśli rozpakujesz go do / tmp / example /, nie będzie on mógł wślizgnąć się do pliku / etc / ani nic podobnego.
27
-P
opcję, która wpływa na jego zachowanie w tym zakresie./etc/passwd
w przypadku uruchomienia jako root. Od pewnego czasu uważam, żegtar
daje to podobne bezpieczeństwo, jak w przypadkustar
.Odpowiedzi:
Różne narzędzia tar działają pod tym względem inaczej, więc dobrze jest zachować ostrożność. W przypadku pliku tar, który nie został utworzony, zawsze wypisz spis treści przed wypakowaniem go.
Tar Solaris :
W przypadku pliku tar z pełnymi (bezwzględnymi) nazwami ścieżek, takimi jak:
... jeśli wyodrębnisz taki plik, skończysz na obu plikach.
GNU tar :
... jeśli wyodrębnisz pełny plik tar za pomocą GNU tar bez użycia
-P
opcji, powie ci:i rozpakuje plik do podkatalogów bieżącego katalogu.
Tar AIX :
nic o tym nie mówi i zachowuje się jak tar Solaris - utworzy i wyodrębni pliki tar z pełnymi / bezwzględnymi nazwami ścieżek.
Tar HP-UX : (mile widziane lepsze referencje online)
Tar OpenBSD :
Istnieją
-P
opcje zaimplementowane równieżtar
w macOS, FreeBSD i NetBSD, z tą samą semantyką, z dodatkiem, żetar
w FreeBSD i macOS „odmówi wyodrębnienia wpisów archiwalnych, których ścieżki zawierają..
lub których katalog docelowy zostałby zmieniony przez dowiązanie symboliczne” bez-P
.gwiazda schilytools :
źródło
..
stanowi zagrożenie bezpieczeństwa, więc użyjstar
lub niedawnogtar
. Zobacz takżestar
przykładowe archiwa tar zawierające ręcznie spreparowanetar
nagłówki, które powodują, że większośćtar
implementacji usuwa pliki nawet bez ostrzeżenia.tar
Solaris, AIX i HP-UX? Jeśli tak, to po co wskazywać tylko tarę GNU, zwłaszcza jeśli (ponownie zgodnie z cytatem powyżej), zmieniły się na nieakceptowanie..
? Problemy ze zniekształconymi danymi wejściowymi są oczywiście błędami i przypuszczam, że zgłosiłeś je jako takie.star
(najstarsza darmowa implementacja) musi być postrzegana jako niekompletna.Jedną z przezabawnych rzeczy, które zdarzają się z bombami tar, jest to, że zmieniają uprawnienia bieżącego katalogu na te zawarte w tarballu.
Na przykład, jeśli tarball zawiera „.” i rozpakujesz go w katalogu / tmp jako root, spowoduje to zniszczenie twojego systemu, czyniąc / tmp niezauważalnym przez nikogo innego niż root.
źródło
/
, zmieni to uprawnienia do katalogu głównego, co będzie miało nieoczekiwane konsekwencje (pamiętam, że dostaję „nie można wykonać / bin / bash” podczas logowania na konsoli, ponieważ/
był to tryb 770).