tg-me.com/php_interview_lib/719
Last Update:
Объясните Path Traversal в PHP
Path traversal (траверсирование путей) — это уязвимость безопасности, которая возникает, когда приложение позволяет пользователям указывать пути к файлам и не выполняет должную очистку пользовательского ввода. Это может позволить злоумышленникам получить доступ к файлам и директориям, находящимся вне предусмотренной директории. В PHP эта уязвимость может возникнуть, когда пути к файлам конструируются с использованием пользовательского ввода без надлежащей валидации или очистки.
Как работает Path Traversal
Пользовательский ввод: Приложение принимает пользовательский ввод для путей к файлам, например, через параметр GET или POST.
Неправильная очистка: Приложение неправильно очищает или валидирует ввод.
Траверсирование директорий: Злоумышленник может манипулировать вводом для навигации по файловой системе с помощью последовательностей вроде ../ (точка-точка-слэш) для перемещения вверх по структуре директорий.
Несанкционированный доступ к файлам: Злоумышленник получает доступ к файлам и директориям за пределами предусмотренного диапазона, который может включать конфиденциальную информацию, например, конфигурационные файлы, файлы с паролями или другие конфиденциальные данные.
Меры по предотвращению уязвимостей Path Traversal
Чтобы предотвратить уязвимости path traversal в PHP, следует:
🟢Очистка пользовательского ввода: Использовать функции, которые валидируют и очищают имена файлов.
🟢Использование абсолютных путей: Преобразовывать пути в абсолютные и проверять, что они находятся в ожидаемой директории.
🟢Ограничение доступа к файлам: Использовать подход белого списка, чтобы разрешить доступ только к определенным файлам.
BY Библиотека собеса по PHP | вопросы с собеседований
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/php_interview_lib/719