Добро пожаловать на форум, Гость!
Войдите или зарегистрируйтесь!
Имя пользователя:   Пароль:  
Запомнить меня 




Начать новую тему Ответить на тему   [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Уязвимость связки PHP+nginx
СообщениеДобавлено: 06 сен 2010, 19:49 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2897
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 121 раз.
ОС: RHEL 6.7
Уязвимости подвержены сайты с возможностью загрузки изображений

Изображение


Background

Во всех HowTo по настройке связки nginx с php-fpm / php-cgi есть похожие строчки:

Код:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}


Problem Description

Однако если попросить у сервера отдать example.com/1px.gif/test.php, то URI примет вид 1px.gif/test.php что подойдёт под location \.php$, а script_FILENAME станет равным /scripts/1px.gif/test.php.

Далее, если cgi.fix_pathinfo == 1 (по дефолту), то script_FILENAME станет равным /scripts/1px.gif, а PATH_INFO будет равен test.php

В итоге php интерпретатор обработает /scripts/1px.gif. То есть,

Impact

Любой пользователь будет иметь возможность заливать файлы на сервер (например, аватары) то создав особенное изображение, которое будет одновременно проходить валидацию размеров GD и исполняться php интерпретатором, будет иметь права на исполнение произвольного кода на сервере с правами php процесса.

Workaround

Дописываем в php.ini

Код:
cgi.fix_pathinfo=0


или же менее предпочитаемый, дописываем в nginx.conf
Код:
location ~ \.php$ {
try_files $fastcgi_script_name =404;
fastcgi_index index.php;
fastcgi_param script_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}


это фактически закроет доступ ко всем файлам .php лежащим по пути содержащем точку и /.


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Уязвимость связки PHP+nginx
СообщениеДобавлено: 07 сен 2010, 22:17 
Модератор
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 803

Зарегистрирован: 02 мар 2010, 16:13
Благодарил (а): 6 раз.
Поблагодарили: 12 раз.
о уязвимости знаю давно... но было лень копипастить


Изображение

Home: Windows Heaven
Home: Debian 6
For Servers: Debian || RHEL Based || Gentoo || FreeBSD


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
   Похожие темы   Автор   Ответов   Просмотров   Последнее сообщение 
Нет новых непрочитанных сообщений в этой теме Пошаговые инструкции - школьный сервер 5.0.1

[ На страницу: 1, 2 ]

в форуме Документация *nix

ИМХО

13

3347

03 июн 2010, 18:11

Raven Перейти к последнему сообщению

Перенесенная ^_^

в форуме Linux

root

3

38

02 мар 2010, 16:15

Gen1us2k Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Samsung разработала модули памяти DDR4, которые на 40 % энер

в форуме Общий

Gen1us2k

1

2314

06 янв 2011, 09:10

Raven Перейти к последнему сообщению



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Собрано Raven. Русская поддержка phpBB
phpBB SEO