Twoja strona pozwala na przesyłanie plików
• Zip Slip
Gdy użytkownik wysyła archiwum – zazwyczaj musisz je otworzyć i przeanalizować każdy plik z osobna (chociażby dla obrazków wygenerować odpowiednie miniatury).
Prosty algorytm będzie wyglądał mniej więcej tak:
1. Stwórz katalog tymczasowy na dysku (/tmp/katalog)
2. Otwórz archiwum (zewnętrzną biblioteką) i pobierz nazwy plików
3. Połącz ścieżkę katalogu tymczasowego (z kroku pierwszego) z nazwą
zip
? Powinieneś uważać na dwa wektory ataku. #od0dopentestera• Zip Slip
Gdy użytkownik wysyła archiwum – zazwyczaj musisz je otworzyć i przeanalizować każdy plik z osobna (chociażby dla obrazków wygenerować odpowiednie miniatury).
Prosty algorytm będzie wyglądał mniej więcej tak:
1. Stwórz katalog tymczasowy na dysku (/tmp/katalog)
2. Otwórz archiwum (zewnętrzną biblioteką) i pobierz nazwy plików
3. Połącz ścieżkę katalogu tymczasowego (z kroku pierwszego) z nazwą
Twój kod odwołuje się do skryptu #js
">
Ciężko znaleźć tu błąd. Chyba, że wczytamy się w instrukcję.
Dawno temu nie każda przeglądarka obsługiwała ciasteczka.
Serwisy chciały jednak w jakiś sposób zapamiętywać stan sesji użytkownika.
Wymyślono więc, że informacje na ten temat będą przekazywane w adresie URL.
Adres:
http://example.com/aplikacja/home.aspx
Zamieniano na:
http://example.com/aplikacja/(A(XXXX)S(XXXX)F(XXXX))/home.aspx
W miejscu
XXXX
aplikacja automatycznie doklejała identyfikator sesji.Dziś mało kto
Możesz zapisać/wypisać się klikając na nazwę listy.