Saved XSS уразливість в Internet Explorer

23:57 12.11.2010

Сьогодні я знайшов Cross-Site Scripting уразливість в Internet Explorer. Це Post Persistent XSS (Saved XSS). Дірку я виявив в IE6, IE7 та IE8.

Дана уразливість подібна до Cross-Site Scripting в IE, про яку я писав в 2007 році, але атака відбувається не через збереження веб сторінки, а через збереження веб архіва (mht/mhtml файла) - так само, як у Cross-Site Scripting в Opera, про яку я писав в 2008 році. Й як я зазначав у травні - Microsoft виправила попередню уразливість в IE8 - тобто спочатку проігнорувала дану уразливість в IE6 та IE7, про яку я їм повідомляв в 2007-2008 роках, а потім тихенько виправила її в IE8. Але цю дірку виправити вона забула, тому й вразливими є всі версії Internet Explorer :-) .

При збереженні сторінки зі “спеціальним” URL, в коді сторінки зберігається XSS код. І відбувається виконнання XSS коду при відкритті даної сторінки (в будь-якому браузері).

XSS:

http://site/?--><script>alert("XSS")</script>

Для атаки необхідно зберегти сторінку як mht/mhtml файл (Web archive). Причому, якщо зберегти даний файл з розширенням mht або mhtml, то при відкритті сторінки код не спрацює. Для того, щоб це обійти і запустити код потрібно зберегти mht/mhtml файл з розширенням htm або html. Тоді код виконається при відкритті сторінки (в будь-якому браузері).

Дана уразливість - це Saved XSS та Local XSS. Подібні дірки можуть використовуватися для доступу до локальної файлової системи.

Для прихованої атаки можна використати iframe в коді сторінки:

<iframe src='http://site/?--><script>alert("XSS")</script>' height='0' width='0'></iframe>

Уразливі версії Internet Explorer 6 (6.0.2900.2180), Internet Explorer 7 (7.00.5730.13), Internet Explorer 8 (8.00.6001.18702) та попередні версії.


Leave a Reply

You must be logged in to post a comment.