On Tuesday 17 June 2014 18:05:15 S.A.N wrote:
Валентин Бартенев Wrote:
---
Как уже неоднократно в этой ветке говорилось, nginx в параметрах
HTTP_* пишет
ровно то, что от него требуется: заголовки, пришедшие от клиента, в
том виде,
в
On Tuesday 17 June 2014 18:05:15 S.A.N wrote:
[..]
Немного позволю себе лирики, надеюсь никто не обидеться.
Слепое выполнения протокола CGI 1.1 для инвалидных запросов, напоминает
анегдот:
Когда маленькую девочку оставили одну дома и дали указания чужим людям двери
не открывать.
В квартире
On 17 Jun 2014, at 20:03, Maxim Dounin mdou...@mdounin.ru wrote:
В своё время, однако, nginx'у потребовалось от этой практики отказаться:
http://hg.nginx.org/nginx/rev/b9de93d804ea
Если мне не изменяет память, причина была всё та же - реальная
жизнь заставила.
Можно подробнее узнать
Валентин Бартенев Wrote:
---
Вы подменяете понятия. Пока ещё никто из дискутирующих не смог
привести
аргументов за то, что такие запросы не являются валидными.
Я никогда не утверждал, что инвалидность этих запросов определяется
стандартом
Hello!
On Mon, Jun 16, 2014 at 11:20:57PM +0300, Gena Makhomed wrote:
On 16.06.2014 15:00, Maxim Dounin wrote:
озвученные в RFC 7230 требования к клиенту:
http://tools.ietf.org/html/rfc7230#section-5.4
A client MUST send a Host header field in all HTTP/1.1 request
messages.
а расскажите на примерах, как эту уязвимость можно эксплуатировать ?
бесконечный пинг-понг между Геннадием и Максимом утомляет ))
11 июня 2014 г., 16:30 пользователь Gena Makhomed g...@csdoc.com написал:
On 10.01.2014 15:07, Валентин Бартенев wrote:
http://habrahabr.ru/post/166855/
Hello!
On Mon, Jun 16, 2014 at 03:36:38PM -0400, S.A.N wrote:
Maxim Dounin Wrote:
---
Какая-либо проблема появляется тогда и только
тогда, когда администратор начинает писать в конфиге $http_host,
не думая о последствиях.
On 17.06.2014 9:30, Maxim Dounin wrote:
http://tools.ietf.org/html/rfc7230#section-5.4
A client MUST send a Host header field in all HTTP/1.1 request
messages. If the target URI includes an authority component, then a
client MUST send a field-value for Host that is identical to
On 17.06.2014 10:00, Maxim Dounin wrote:
Значения SERVER_NAME не может использоваться,
если в директиве server_name используется маска
или бекенд обрабатывает запросы для default_server.
Если SERVER_NAME нельзя использовать - значит, необходимо
передать дополнительный параметр, который и
On Tuesday 17 June 2014 13:31:16 Gena Makhomed wrote:
[..]
SHOULD NOT - это не запрет, а только лишь рекомендация:
http://tools.ietf.org/html/rfc2119#section-4
так что формально и фактически Chrome ничего не нарушает.
Фактически - упомянутый SHOULD NOT на тот момент безусловно
Hello!
On Tue, Jun 17, 2014 at 01:31:16PM +0300, Gena Makhomed wrote:
On 17.06.2014 9:30, Maxim Dounin wrote:
http://tools.ietf.org/html/rfc7230#section-5.4
A client MUST send a Host header field in all HTTP/1.1 request
messages. If the target URI includes an authority
On Tuesday 17 June 2014 15:03:18 Maxim Dounin wrote:
[..]
Среди прочего, например, HTTPbis явно требует возвращать 400,
если запрос содержит несколько заголовков Host.
Нет смысла отправлять несколько одинаковых заголовков
с одинаковым значением. А разных значений там быть не должно.
Илья Шипицин Wrote:
---
а расскажите на примерах, как эту уязвимость можно эксплуатировать?
Вариантов эксплойтов очень много:
1. SQL иньекции, когда содержимое HTTP_HOST без экранирования используется в
SQL запросах.
2. Хаки в include path,
а чем опасен пункт 3) ?
мне почему-то кажется, что масштаб бедствия в районе нуля, шум из-за ничего.
ну ок, в nginx сработал конфиг для одного значения Host, на бекенд
улетело другое, что в этом случае может произойти страшного ?
в интернет-банке деньги спишутся со счета ?
или это какие-то
On Tuesday 17 June 2014 10:46:01 S.A.N wrote:
[..]
3. Обход конфигураций веб сервера, Nginx будет выполнять директивы хоста
указанного в absolute uri, но на бекенд отправит HTTP_HOST указанный в
заголовке Host
[..]
Как уже неоднократно в этой ветке говорилось, nginx в параметрах HTTP_* пишет
Илья Шипицин Wrote:
---
а чем опасен пункт 3) ?
мне почему-то кажется, что масштаб бедствия в районе нуля, шум из-за
ничего.
ну ок, в nginx сработал конфиг для одного значения Host, на бекенд
улетело другое, что в этом случае может
пока что все озвученные сценарии для пользователя приведут к
400/404/200, ну то есть назло маме отморожу уши.
ну ок, пользователь специально сконструировал такой запрос, чтобы он
попал в другой хост. ему там ответили 400 (в моих случаях обычно 404 в
силу особенностей майкрософтовского http.sys)
Maxim Dounin Wrote:
---
Возможно, когда-нибудь мы и придём к тому, что в таких ситуациях
будет возвращаться 400. Но это ни коим образом не избавляет от
необходимости исправить приложение.
Приведенный мной пример немного утрирован, но взят
расскажу вам тоже одну байку.
читал как-то по Linux.
поставили линукс, настроили ssh, зашли удаленно.
один слушатель сильно занервничал.
говорит вернусь на работу, выключу везде sshd, очень опасная
программа, позволяет удаленно с сервером всякие команды выполнять
каждый, наверное, сам решает.
Илья Шипицин Wrote:
---
пока что все озвученные сценарии для пользователя приведут к
400/404/200, ну то есть назло маме отморожу уши.
ну ок, пользователь специально сконструировал такой запрос, чтобы он
попал в другой хост. ему там ответили
Валентин Бартенев Wrote:
---
Как уже неоднократно в этой ветке говорилось, nginx в параметрах
HTTP_* пишет
ровно то, что от него требуется: заголовки, пришедшие от клиента, в
том виде,
в котором они получены.
Nginx так и должен делать, если
Hello!
On Sun, Jun 15, 2014 at 11:07:58PM +0300, Gena Makhomed wrote:
On 14.06.2014 21:14, Maxim Dounin wrote:
http://habrahabr.ru/post/166855/
...
Прокси-сервер, помимо всего прочего, является сервером, и
процитированное требование вернуть 400 в ответ на Host header
field with an
Maxim Dounin Wrote:
---
Какая-либо проблема появляется тогда и только
тогда, когда администратор начинает писать в конфиге $http_host,
не думая о последствиях. Есть мнение, что совсем простое решение
этой проблемы - не делать так (c)
Hello!
On Mon, Jun 16, 2014 at 11:19:57AM -0400, S.A.N wrote:
Maxim Dounin Wrote:
---
Какая-либо проблема появляется тогда и только
тогда, когда администратор начинает писать в конфиге $http_host,
не думая о последствиях. Есть
Maxim Dounin Wrote:
---
Какая-либо проблема появляется тогда и только
тогда, когда администратор начинает писать в конфиге $http_host,
не думая о последствиях. Есть мнение, что совсем простое решение
этой проблемы - не делать
On 16.06.2014 15:00, Maxim Dounin wrote:
озвученные в RFC 7230 требования к клиенту:
http://tools.ietf.org/html/rfc7230#section-5.4
A client MUST send a Host header field in all HTTP/1.1 request
messages. If the target URI includes an authority component, then a
client MUST send
On 14.06.2014 21:14, Maxim Dounin wrote:
http://habrahabr.ru/post/166855/
...
Прокси-сервер, помимо всего прочего, является сервером, и
процитированное требование вернуть 400 в ответ на Host header
field with an invalid field-value - к нему тоже относится.
Соответственно, если трактовать
Hello!
On Thu, Jun 12, 2014 at 03:40:21PM +0300, Gena Makhomed wrote:
On 11.06.2014 22:53, Maxim Dounin wrote:
http://habrahabr.ru/post/166855/
...
Единственный правильный способ: пойти в IETF с предложением исправить
соответствующие RFC, которые в том числе оговаривают, что следует
On 11.06.2014 22:53, Maxim Dounin wrote:
http://habrahabr.ru/post/166855/
...
Единственный правильный способ: пойти в IETF с предложением исправить
соответствующие RFC, которые в том числе оговаривают, что следует делать
при получении нескольких заголовков Host, ну а потом уже сюда.
...
Gena Makhomed Wrote:
---
и да, отвечать с 400 статусом тут даже более логично,
потому что если authority component в строке запроса
и в заголовке Host: разные - это явно попытка взлома.
Я так же считаю, что 400 статус в этом случаи должен
Hello!
On Wed, Jun 11, 2014 at 02:25:38PM +0300, Gena Makhomed wrote:
On 11.06.2014 13:42, Валентин Бартенев wrote:
http://habrahabr.ru/post/166855/
Единственный правильный способ: пойти в IETF с предложением исправить
соответствующие RFC, которые в том числе оговаривают, что следует
Не понял в чем проблема, чисто наитием использую давно:
# Add default fake server
include //default_server.conf;
где default_server.conf:
=
server {
listen *:80 default_server;
server_name _;
return 403;
}
2014-06-11 15:25 GMT+04:00 Gena Makhomed g...@csdoc.com:
On
32 matches
Mail list logo