Charset Remembering уразливість в Mozilla Firefox

23:58 03.02.2009

Нещодавно, 30.01.2009, досліджуючи Charset Inheritance в різних браузерах, коли я виявив Charset Inheritance уразливість в Internet Explorer 6 та Google Chrome, я знайшов Charset Remembering уразливість в Mozilla Firefox.

Дана уразливість призводить до можливості проведення XSS атак з UTF-7. Вона відрізняється від Charset Inheritance в тому, що кодова сторінка не наслідується, а вона повинна бути встановлена для сторінки вручну, в цьому вона схожа на XSS уразливість в Mozilla та Firefox, що я виявив в 2007 році (до речі, їх можна поєднати при атаках на gopher ресурси). Після чого стають можливими XSS атаки на дану сторінку.

При вказані користувачем для сторінки на сайті кодування (зокрема, UTF-7), браузер запам’ятовує дане кодування і використовує його в подальшому при всіх запитах до даної сторінки, якщо в ній не вказано кодування. Навіть після перезапуску браузеру - вказане кодування запам’ятовується доти, доки воно не буде змінено на інше. Що дозволить при вказанні кодування UTF-7 проводити XSS атаки (при відвіданні сторінок з XSS кодом або приховані атаки через frame/iframe).

Алгоритм атаки:

1. Заманити користувача на сторінку http://site/page.html (де не вказане кодування) і змусити його встановити UTF-7 кодування для даної сторінки.

2. Розмістити UTF-7 XSS код на http://site/page.html (як reflected або persistent) і атакувати користувача на даній сторінці.

3. Доки кодування UTF-7 для даної сторінки буде встановлене в браузері, можна буде повторно атакувати користувача.

Уразливі Mozilla Firefox 3.0.1 та всі попередні версії (та потенційно наступні версії).


4 відповідей на “Charset Remembering уразливість в Mozilla Firefox”

  1. Rett Pop каже:

    Давно читаю твой блог. Очень полезный. Спасибо.

    Очень интересен процесс поиска уязвимостей. Какие инструменты, с чего ты начинаешь, на что обращаешь внимание, и т.д. Поделишься, ежели не секрет?

    WBR, Rett Pop.

  2. MustLive каже:

    Rett Pop

    Всегда пожалуйста.

    Ранее я уже писал насчёт используемых мною инструментов - в опросе специалистов по Web Application Security ;-) . В результатах по 12 вопросу наводится общая картина по всем участника опроса, но суть моего подхода там передана (тем более что в других постах я об этом также писал).

    Мои основные инструменты - это знания, опыт и интуиция, т.е. мой мозг. А средой для поиска уязвимостей выступает браузер - или мой основной (Mozilla), или при необходимости и другие браузеры.

    Мастер-класса по поиску уязвимостей я делать не буду. Но из моего ответа суть моего подхода должна быть понятна. Мозг, руки и браузер - вот всё, что нужно для поиска уязвимостей. Это касательно уязвимостей в веб приложениях. Что касается дыр в браузерах, то подходы здесь немного отличаются, но основные инструменты те же самые - мозг, руки и браузеры (как наиболее популярные, так и интересные для исследования браузеры).

  3. MustLive каже:

    Як нещодавно повідомили мені з Mozilla, вразливими є версії Mozilla Firefox <= 3.0.1. В Firefox 3.0.2 дана уразливість вже була виправлена.

  4. MustLive каже:

    Зазначу, що Мозіла виправила лише атаку через UTF-7 (в Firefox 3.0.2). Сама Charset Remembering особливість в браузері залишилася, як я перевірив в Firefox 3.0.6. І якщо можливість XSS атаки подібної до атаки з використанням UTF-7 буде виявлена в іншому кодуванні, то дана проблема знову стане актуальною для нових версій браузерів на движку Мозіли.

Leave a Reply

You must be logged in to post a comment.