Атака через пробіл в імені файла на nginx
20:02 23.11.2013Раніше я писав про три обхідних методи виконання коду через аплоадери. Які дозволяють обходити захисні механізми веб додатків і проводити Code Execution атаки.
Коли файл містить дозволене розширення (не скриптове), але при доступі до нього виконується код скрипта. Це атака “через ;” в імені файла та атака “через .asp” в імені папки на IIS та атака через подвійні розширення в Apache. А зараз розповім про новий метод атаки, що працює на nginx.
Нещодавно була оприлюднена уразливість в nginx (CVE-2013-4547), яка вже виправлена у версіях nginx 1.4.4 і 1.5.7. Уразливість призводить до розкриття інформації та до виконання довільного коду (якщо завантажити файл з пробілом в імені через аплоадер). До цієї атаки вразливі версії nginx 0.8.41 - 1.5.6.
Code Execution атака на nginx:
1. Завантажити через аплоадер файл з пробілом в кінці "file ". Наприклад, php-скрипт.
2. Зробити запит до цього файла на сайті наступним чином: "http://site/file \0.php". Це призведе до виконання php-скрипта.
Атака спрацює лише при відповідних налаштуваннях веб сервера. Зокрема для зв’язки nginx + php5-fpm значення fastcgi_param PATH_TRANSLATED повинно бути виду $document_root/$fastcgi_script_name та в конфігурації fpm pool значення security.limit_extensions повинно пропускати будь-які файли (що відмінно від значення по замовчуванню).
Субота, 15:18 30.11.2013
You can read this article on English in The Web Security Mailing List: Attack via space in filename on nginx.