Re: Об одной малоизвестной уязвимости в веб сайтах

Maxim Dounin mdounin at mdounin.ru
Wed Jun 11 19:53:32 UTC 2014


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, которые в том числе оговаривают, что следует делать
> >>>при получении нескольких заголовков Host, ну а потом уже сюда.
> >>
> >>http://tools.ietf.org/html/rfc7230#section-5.4
> >>
> >>     When a proxy receives a request with an absolute-form of
> >>     request-target, the proxy MUST ignore the received Host header field
> >>     (if any) and instead replace it with the host information of the
> >>     request-target.  A proxy that forwards such a request MUST generate a
> >>     new Host field-value based on the received request-target rather than
> >>     forward the received Host field-value.
> >>
> >>Referer: http://www.opennet.ru/opennews/art.shtml?num=39956
> >
> >Не очень понятно, а что хотели сказать этой цитатой?
> >
> >Так, на всякий случай, nginx не является "proxy" согласно терминологии того
> >же RFC 7230.
> 
> Ok.
> 
> http://tools.ietf.org/html/rfc7230#section-5.4
> 
>    A server MUST respond with a 400 (Bad Request) status code to any
>    HTTP/1.1 request message that lacks a Host header field and to any
>    request message that contains more than one Host header field or a
>    Host header field with an invalid field-value.
> 
> "invalid field-value" - это в том числе, когда клиент не выполняет
> требований, которые изложены выше в этом же документе:
> 
>    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 that
>    authority component, excluding any userinfo subcomponent and its "@"
>    delimiter (Section 2.7.1).

Если исходить из такой трактовки термина "invalid field-value", то 
ранее процитированное требование про "the proxy MUST ignore the 
received Host header..." и далее по тексту - не имеет смысла.

Я просто оставлю эту ссылку здесь:

http://lurkmore.to/Взаимоисключающие_параграфы

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru