11.07.2015 Views

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ХАКЕР 04 /171/ 2013 83www.microsoft.com9%63%72%6F%73%6F%66%74%2E%63%6F%6DПРИМЕРЫ РЕАЛЬНЫХУЯЗВИМОСТЕЙ4. В результате запрос будет отправлен по следующей ссылке:http://www.microsoft.com9crosoft.com/testДанную ошибку обработки можно использовать, добавивв URL-кодированное представление хоста символ /. Таким образом,запрос будет отправлен на правильно декодированный хост,но в Request-Path и Host-заголовке будут некорректные данные,полученные в результате наложения декодированного значенияна оригинальный хост из Location-заголовка, например:index.jspredirect.jspПри обращении к сценарию redirect.jsp будет сформированследующий HTTP-запрос, который будет отправлен на корректнообработанный хост:GET /x//../../?3e%2f%2e%2e%2f.%2e%2f%3f/ HTTP/1.1Host: localhost/x//../../?В результате данную ошибку обработки Location можноиспользовать, так же как в предыдущем примере, для формированияпроизвольных данных в Request-Path и обхода XSSфильтра,а также для реализации атак типа «межсайтовое выполнениесценариев» через Host-заголовок.Пример подделки порта для открытой вкладки через ошибкудекодирования хоста:redirect-5.jspВ данном примере запрос будет отправлен на microsoft.com:80, но в адресной строке будет отображаться порт 8080 иззанекорректного декодирования.ЗАКЛЮЧЕНИЕНесмотря на сложность эксплуатации и довольно специфичныеусловия, данные варианты атаки не стоит недооценивать.Как показала практика, очень многие веб-разработчикииспользуют Request-Path и Host-заголовок без дополнительныхфильтраций, так как рассчитывают, что при нормальныхусловиях в них не может быть ничего лишнего. Если веритьмоей нерепрезентативной выборке, каждый пятый популярныйвеб-сайт в той или иной мере подвержен рассмотреннымуязвимостям некорректной обработки данных, полученныхот пользователя.Написав небольшое расширение для Burp Proxy, которое модифицирует Request-URI и Host всех запросов, я решил проверить, насколько распространены перечисленныеуязвимости в реальной жизни. Ниже представлено несколько обнаруженныхпримеров в рамках участия в Bug Bounty программах.Yandex Bug BountyHTTP Response Splitting, Open Redirect, XSS [mail.yandex.ru/neo2]Сценарий перенаправления с /neo2 на /neo2/ использовал URL-декодированныйRequest-Path, полученный от клиента, для формированияLocation-заголовка.Open Redirect:http://mail.yandex.ru//evil.com/%2e%2e/neo2HTTP Response Splitting:http://mail.yandex.ru/%0aSet-Cookie:test=test%0a/%2e%2e/neo2Cross Site Scripting (для браузеров с отключенным перенаправлением):http://mail.yandex.ru/%0a%0a/alert(1)/%2e%2e/2e%2e/neo2XSS [mail.yandex.ru/lite]Облегченная версия mail.yandex.ru определяла переменную PDA.Prefix по первой папке Request-Path, полученной от клиента, ииспользовала ее в JavaScript-коде без необходимых обработок.Пример эксплуатации:http://mail.yandex.ru/x'+alert('XSS')+'x/%2e%2e/lite/inboxФрагмент HTTP-ответа:PDA.prefix = ''+alert('XSS')+'';Etsy Bug BountyXSS via Host [etsy.com, *.etsystatic.com]Varnish HTTP Accelerator, обрабатывающий запросы к сайтам Etsy,имел некорректно настроенный шаблон страницы ошибок. В случаенеизвестного хоста в HTTP-ответ попадало значение Host-заголовка безнеобходимых обработок.Пример эксплуатации (только браузер IE, используя PT-2013-04):http://evil.com/redirect?url=http://etsy.com%252F%252F%252e.%252FФрагмент HTTP-ответа:unknown domain: etsy.com//../Nokia Bug BountyHTTP Response Splitting [access.nokia.com,projects.developer.nokia.com]Сценарий перенаправления с HTTP на HTTPS использовал URL-декодированныйRequest-Path, полученный от клиента, для формированияLocation-заголовка.Пример эксплуатации:http://access.nokia.com/x%0aHTTP:Response_Splitting%0a/http://projects.developer.nokia.com/cartrumps/x%0aHTTP:%20Response-Splitting/UI Redress Attack [support.publish.nokia.com]Для формирования Action формы «Contact Us» использовалсяRequest-Path, полученный от клиента.Пример эксплуатации:support.publish.nokia.com//evil.com/%2e%2e?page_id=105Рис. 3. Эксплуатация XSS через Host-заголовок на сайтах EtsyФрагмент HTTP-ответа:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!