Здравствуйте!

Бесполезная нагрузка на сервер создается не более, чем от множественных 
запросов к 
серверу. Проблема не в сервере, а в неправильном понимании Вами стандарта. 
Уязвимости никакой нет, что Вам и пытались показать.

С уважением, Иван.

В письме от 8 августа 2017 08:11:32 пользователь CoDDoC написал:
> А вот интересно, от ботов тоже будем требовать соблюдения RFC?
> Я воспроизвел ситуацию, как создать бесполезную нагрузку на сервер при
> бесконечном редиректе. Правильно я делаю запрос или нет - в данном случае
> не важно. Важно то, что оно работает, и у сервера нет встроенных средств
> для корректной обработки такой ситуации. По большому счету, это называется
> уязвимостьвю. Дальше. господа разрабы, решать вам. Закрыть проблему или
> оставить все как есть и подождать, пока эту уязвимость начнут
> эксплуатировать.
> 
> Засим позволю себе откланяться, поскольку не имею времени продолжать
> бессмысленную дискуссию. Спасибо.
> 
> >Понедельник,  7 августа 2017, 16:12 +03:00 от Валентин Бартенев
> ><vb...@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/
> >> 
> >> И точно такое же зацикливание.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить