Злоумышленник должен загрузить на сервер файл с пробелом в имени файла на конце с активным содержимым. После загрузки можно обратиться к файлу, использую запрос
[url_host][url_pth]"/file \0.php"
Если все зависимости выполняются - данный файл интерпретируется как PHP скрипт.
Это возможно, благодаря присутствию следующих строк в конфиге Nginx
Код:
location ~ \.php$ {
fastcgi_pass…
}
Единственное в чём будут трудности - загрузить на сервер файл с пробелом в имени файла на конце, минуя все преобразования внутри CMS, включая функцию trim().
Конечно, есть определённые зависимости:
Цитата:
Сообщение от None
Применительно к nginx + php5-fpm должны соблюдаться следующие условия для эксплуатации уязвимости:
1) fastcgi_param PATH_TRANSLATED должнен быть вида $document_root/$fastcgi_script_name, т.е. значение скрипта берется из реквеста
2) в конфиге fpm pool значение ecurity.limit_extensions должно пропускать любые файлы. По-умолчанию она выставлена в .php .php3 .php4 .php5