Welcome! Log In Create A New Profile

Advanced

Re[2]: Зацикливание на редиректе

August 08, 2017 01:22AM
А вот интересно, от ботов тоже будем требовать соблюдения RFC?
Я воспроизвел ситуацию, как создать бесполезную нагрузку на сервер при бесконечном редиректе.
Правильно я делаю запрос или нет - в данном случае не важно. Важно то, что оно работает, и у сервера нет встроенных средств для корректной обработки такой ситуации. По большому счету, это называется уязвимостью.
Дальше. господа разрабы, решать вам. Закрыть проблему или оставить все как есть и подождать, пока эту уязвимость начнут эксплуатировать.

Засим позволю себе откланяться, поскольку не имею времени продолжать бессмысленную дискуссию.
Спасибо.


>Понедельник, 7 августа 2017, 16:12 +03:00 от Валентин Бартенев <vbart@nginx.com>:
>
>On Monday 07 August 2017 15:26:11 CoDDoC wrote:
>> Ну, хорошо. Пусть в моем примере вообще нет хоста.
>> Тогда что такое https://test.com ? Давайте назовем строкой запроса, суть
>проблемы от этого не меняется.
>
>В вашем примере это аргумент командной строки, который не участвует в запросе.
>В строке запроса он не передается.
>
>
>> В документации так:
>> " $host
>> в порядке приоритета: имя хоста из строки запроса, или имя хоста
>из поля “Host” заголовка запроса.....,"
>>
>> Объясните мне, пожалуйста, что понимать как "имя хоста из строки запроса" и
>"имя хоста из поля “Host” заголовка запроса".
>> Желательно с примером для курла, как особо одаренному.
>
>Что такое строка запроса описано в RFC:
>https://tools.ietf.org/html/rfc7230#section-3.1.1
>
>Пример с curl:
>
>$ curl -ILH 'Host: www.nginx.org ' -x http://nginx.org:80/ http://nginx.org/
>
>
>>
>> Далее, Вы приводите пример с netcat. Аналогично можно использовать telnet.
>> Только ведь после получения Location ему нужно следовать. Полученный
>Location: http://nginx.org/ куда возвращает? На HEAD http://nginx.org/
>HTTP/1.1.
>
>Первый пример netcat как раз содержит http://nginx.org/ в строке запроса
>и как вы можете наблюдать - редиректа нет.
>
>Второй пример не содержит в строке запроса хоста, а в заголовке Host
>содержится www.nginx.org и происходит редирект.
>
>
>>
>> То же самое, только не вводить построчно:
>>
>> curl -ILH 'Host: www.nginx.org ' https://nginx.org/
>>
>> И точно такое же зацикливание.
>
>В данном случае отправляет запрос только с www.nginx.org в заголовке Host
>и отсутствием хоста в строке запроса. Так работает curl.
>
>Зацикливания происходит только потому, что вы сами заставили curl
>постоянно отправлять запрос с Host: www.nginx.org , о чем предупреждает
>документация:
>
>
>man curl:
>
>       -H, --header <header>
>
>              WARNING: headers set with this option will be set in
>              all requests - even after redirects are followed,
>              like when told with -L, --location. This can lead to
>              the header being sent to other hosts than the origi‐
>              nal host, so sensitive headers should be used with
>              caution combined with following redirects.
>
>
>
>Если вы укажите заголовок Host так, как это правильно для curl,
>то никаких проблем нет:
>
> curl -IL https://www.nginx.org/
>
>
>> Пусть мои примеры неверны. Но работают, и приводят к зацикливанию при
>псевдо-валидном запросе.
>
>Ваши примеры демонстрируют неправильное использование команды curl,
>о чем вас предупреждает документация.
>
>> По большому счету, меня интересует только, как это побороть.
>>
>
>Использовать curl правильно.
>
>--
>Валентин Бартенев
>_______________________________________________
>nginx-ru mailing list
>nginx-ru@nginx.org
>http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Зацикливание на редиректе

CoDDoC August 03, 2017 05:16AM

Re: Зацикливание на редиректе

Валентин Бартенев August 05, 2017 02:48PM

Re[2]: Зацикливание на редиректе

CoDDoC August 07, 2017 02:12AM

Re: Зацикливание на редиректе

Валентин Бартенев August 07, 2017 06:26AM

Re: Зацикливание на редиректе

Валентин Бартенев August 07, 2017 06:38AM

Re[2]: Зацикливание на редиректе

CoDDoC August 07, 2017 08:28AM

Re: Зацикливание на редиректе

Валентин Бартенев August 07, 2017 09:14AM

Re[2]: Зацикливание на редиректе

CoDDoC August 08, 2017 01:22AM

Re: Зацикливание на редиректе

Иван August 08, 2017 06:00AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 155
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready