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

S.A.N nginx-forum at nginx.us
Wed Jun 18 16:15:51 UTC 2014


Валентин Бартенев Wrote:
-------------------------------------------------------
> Вы подменяете понятия.  Пока ещё никто из дискутирующих не смог
> привести
> аргументов за то, что такие запросы не являются валидными.

Я никогда не утверждал, что инвалидность этих запросов определяется
стандартом CGI, даже привел метафору про девочку которой не дали указания на
случай пожара.

Причины по которым такие запросы необходимо считать инвалидными очень
прозаичны, легальных HTTP клиентов которые создают такие запросы НЕТ,
сервера которые подвержены данному эксплойту ЕСТЬ, этих серверов не единицы,
обсуждать профессионализм администраторов и разработчиков этих бекендов
можно но это не меняет картину, это просто нужно признать как данность.

Мне кажется хорошей аналогией являются браузеры, которые по таким же
прозаичным причинам, решили не выполнять JS код в странице, если такой код
содержится в URI запроса, вот пример:

http://localhost/?var=<script>alert("XSS")</script>

<?php

echo $_GET['var'];

?>

По всем стандартам HTTP, данный запрос корректный (url encode я убрал для
читабельности).
JS код который находится в теле страницы тоже абсолютно корректный с точки
зрения JS, браузер обязан его выполнить, но браузер этот код не выполнит, по
соображениям безопасности и защиты от XSS атак.

К этому разработчики браузеров тоже пришли не сразу, много лет XSS атаки
было легко проводить на подверженных сайтах. 
Разработчики браузеров по праву считали что это проблема тех кто
разрабатывает сайт и это они должны на своей стороне закрыть XSS
уязвимости.
Но годы шли, а XSS уязвимостей находили все больше, они были даже в
инетбанкингах.
Тогда первым кто сделал мудрое решения был Chrome он реализовал защиты от
XSS атак и объявил себя самым безопасным браузером, потом так же сделал IE.

Я к чему все это виду, чтобы реализовать очевидную защиту не нужно ждать
тысяч жертв которые пострадали и только потом решить что да, такая защита
нужна, более разумно было бы реализовать сейчас когда популярность
эксплуатации этой уязвимости ещё не так высока.


> Это с точки зрения вашего конкретного бэкенда запрос не валиден, nginx
> же вполне справляется с его обработкой, как в общем-то и многие другие
> сервера.

Да, вы правы ценость этого эксплойта я оценил на нескольких своих старых
серверах, ещё года два назад, у себя я закрыл эти уязвимости, закрывать это
на уровне веб-сервера решать вам, дело хозяйское, выше я изложил свои
аргументы и пожелания по закрытию на уровне веб-сервера

> Можете предложить исправить "баг" на ietf.org:
> 
> или на apache.org:
> 
> или на google.com в конце-концов:
> 

Chrome и IE тоже не сразу создали защиту от XSS, прошли годы, вопрос кто это
сделает первым Nginx или Apache.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,246086,251015#msg-251015



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