Bezpieczeństwo aplikacji webowych · Middle · Pytanie 67 z 75
Jak zapobiec path traversal w endpoincie pobierania plików?
res.sendFile(path.join(UPLOADS, req.query.name));- ✓Poprawna odpowiedź: Rozwiązać końcową ścieżkę i sprawdzić, czy nadal jest w
UPLOADS, albo mapować ID na pliki zamiast używać nazw - 2Raz usunąć
..przezreplace - 3Dopuszczać tylko nazwy kończące się na
.pdf
Wyjaśnienie
../../etc/passwd i zakodowane warianty wychodzą poza folder. Niezawodne jest sprawdzenie rozwiązanej ścieżki bezwzględnej lub całkowite unikanie ścieżek od użytkowników.