Re: Об одной малоизвестной уязвимости в веб сайтах
Валентин Бартенев
vbart at nginx.com
Tue Jun 17 17:28:52 UTC 2014
On Tuesday 17 June 2014 10:46:01 S.A.N wrote:
[..]
> 3. Обход конфигураций веб сервера, Nginx будет выполнять директивы хоста
> указанного в absolute uri, но на бекенд отправит HTTP_HOST указанный в
> заголовке Host
[..]
Как уже неоднократно в этой ветке говорилось, nginx в параметрах HTTP_* пишет
ровно то, что от него требуется: заголовки, пришедшие от клиента, в том виде,
в котором они получены.
Это не имеет ни какого отношения к выбору виртуального сервера, который,
к слову, может быть осуществлен множеством других способов, в том числе,
не связанных с HTTP вовсе.
Пытаться проводить тут какую-либо параллель - бессмысленно. Нет никакого
"обхода" конфигурации. То, что значение в HTTP_HOST должно каким-то образом
соответствовать выбранному блоку "server" - не более чем чья-то фантазия.
HTTP_* - данные пришедшие от клиента. И если разработчик приложения не знает
о том, что входные данные необходимо надлежавшим образом фильтровать, то тут
уже ничем не поможешь.
>
> Пункты 1, 2, 4 полностью на совести разработчиков бекенд-приложений, это их
> зона ответственности, но третий пункт (обход конфигураций веб сервера) на
> мой взгляд остаётся на совести разработчиков веб-сервера.
> Если закрыть эту уязвимость на уровне веб-сервера, сразу закроются все
> варианты её эксплойта.
>
Недавно на глаза попался замечательная цитата из интервью с Клинтом Иствудом:
I remember going to a huge waterfall on a glacier in Iceland. People were
there on a rock-platform overlook to see it. They had their kids. There was a
place that wasn't sealed off, but it had a cable that stopped anybody from
going past a certain point. I said to myself, You know, in the States they'd
have that hurricane-fenced off, because they're afraid somebody's gonna fall
and some lawyer's going to appear. There, the mentality was like it was in
America in the old days: If you fall, you're stupid.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru