Здравствуйте 3APA3A!
Сообщаю вам об изобретении мною новой атаки с использованием Charset Remembering уязвимости в Mozilla Firefox.
Ранее я сообщал о Charset Remembering уязвимости в Mozilla Firefox (http://websecurity.com.ua/2848/). Как я писал у себя на сайте, Mozilla отчасти исправила уязвимость, но исправила лишь атаку через UTF-7 (в Firefox 3.0.2). Сама же Charset Remembering в браузере осталась, что я проверил в Firefox 3.0.6. И это может быть использовано для проведения подобных атак с другой кодировкой.
Что я и подтвердил в результате своих исследований. Данная уязвимость приводит к возможности проведения XSS атак с EUC-JP или SHIFT_JIS кодировкой.
При указании пользователем для страницы на сайте кодировки, браузер запоминает данную кодировку и использует её в дальнейшем при всех запросах к данной странице, если в ней не указана кодировка. Даже после перезапуска браузера - указанная кодировка запоминается до тех пор, пока она не буде изменена на другую. Что позволяет при указании кодировки EUC-JP (SHIFT_JIS) проводить XSS атаки (при посещении страниц с XSS кодом или спрятанные атаки через frame/iframe).
Алгоритм атаки:
Заманить пользователя на страницу http://site/page.html (где не указана кодировка) и заставить его установить EUC-JP (SHIFT_JIS) кодировку для данной страницы.
Страница на атакуемом сайте должна подходить для проведения XSS атак с variable-width encoding.
Разместить специальный XSS код на http://site/page.html (как reflected или persistent) и атаковать пользователя на данной странице.
Пока кодировка EUC-JP (SHIFT_JIS) для данной страницы будет установлена в браузере, можно будет повторно атаковать пользователя.
Уязвимы Mozilla Firefox 3.0.6 и все предыдущие версии (все браузеры на движке Mozilla).
Дополнительная информация о данной уязвимости у меня на сайте:
http://websecurity.com.ua/2928/
Best wishes & regards,
MustLive
Администратор сайта
http://websecurity.com.ua