Cross-Site Scripting уразливості в Firefox та Opera

23:57 14.07.2009

Нещодавно я писав про Cross-Site Scripting уразливості в Mozilla, Firefox та Chrome. В даному випадку я використав data: URI, що містить атакуючий JavaScript код, для його виконання через заголовок refresh.

Дана уразливість може застосовуватися для проведення атак через refresh-header редиректори. Вона працює в браузерах Mozilla, Firefox та Chrome. Причому в Firefox 3.0.11 і Google Chrome таким чином до кукісів не дістатися (data: сторінка не пов’язана з оригінальною сторінкою), але це можна зробити в старій Mozilla та в тих версіях Firefox, де є зазначений зв’язок. Зокрема таким чином можна виконувати шкідливий JS-код у вразливих браузерах через refresh-header редиректори на різних сайтах.

Учора, 13.07.2009, я знайшов можливість виконання JavaScript кода через location-header редиректори. Дану Cross-Site Scripting уразливість я виявив браузерах Firefox та Opera. Моя стара Mozilla не вразлива, тому коли я давно перевіряв в ній, то тоді даний вектор атаки не спрацював, і я гадав, що Firefox також не вразливий. Аж поки не виявив, що Мозіла додала в Firefox дану можливість, тим самим відкривши (разом з Opera) можливість для виконання JavaScript кода через численні location-header редиректори (яких в Інтернеті дуже багато, більше ніж refresh-header редиректорів).

XSS:

При запиті до скрипта на сайті:
http://site/script.php?param=data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ%2b
Що поверне у відповіді заголовок Location і код виконається у браузері:
Location: data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ+

Уразливі Firefox 3.0.11 та Opera, але без доступу до кукісів (так само як у випадку refresh-header редиректорів). Mozilla та Chrome не підтримують data: в location-редиректорах, а IE зовсім не підтримує data: URI. Це може використовуватися для фішинга та виконання JavaScript коду (для розповсюдження malware).

Уразлива версія Mozilla Firefox 3.0.11 (і 3.5 також повинен бути уразливим) та попередні версії.

Уразлива версія Opera 9.52 та попередні версії (і потенційно наступні версії).


3 відповідей на “Cross-Site Scripting уразливості в Firefox та Opera”

  1. MustLive каже:

    Як я сьогодні перевірив, Mozilla Firefox 3.0.12 також уразливий.

  2. MustLive каже:

    Як я сьогодні перевірив, Mozilla Firefox 3.0.13 також уразливий.

  3. MustLive каже:

    Як я написав в своїй статті Cross-Site Scripting атаки через редиректори, дана уразливість має місце також в браузерах QtWeb 3.0 Build 001 та 3.0 Build 003, Opera 10.00 Beta 3 Build 1699, Firefox 3.6 a1 pre, Firefox 3.7 a1 pre, Orca Browser 1.2 build 5 та Maxthon 3 Alpha (3.0.0.145) з Ultramode.

Leave a Reply

You must be logged in to post a comment.