Cross-Site Scripting в Mozilla та Firefox
23:52 03.10.2007Після попередньої уразливості в Internet Explorer, що я виявив у серпні, пропоную нову уразливість в Mozilla та Firefox.
В минулому місяці, 23.09.2007, я виявив цікаву Cross-Site Scripting уразливість в Mozilla та Firefox (це XSS та URI Exploitation уразливість). Дану XSS я відношу до типу Strictly social XSS.
Вона пов’язана з тим, що браузер недостатньо фільтрує символи при UTF-7 кодуванні в протоколі gopher. Дане кодування слід виставити вручну (що зменшує рівень небезпеки). Тому для атаки потрібно змусити жертву встановити UTF-7 кодування (використовуючи методи соціальної інженерії, як це показано в прикладі з додатковим текстом).
Тестування проводилося в наступних браузерах: Mozilla 1.7.7, Firefox 0.8 та Firefox 2.0.
XSS:
- alert(’XSS’)
- alert(’XSS’) (з додатковим текстом)
gopher:///1+ADw-SCRIPT+AD4-alert('XSS')+ADw-/SCRIPT+AD4-
В Firefox 2.0 фільтруються символи " та ‘, тому потрібно використати інші підходи (наприклад, замінити їх в alert на “/”).
XSS (Firefox 2.0):
- alert(/XSS/)
- alert(/XSS/) (з додатковим текстом)
gopher:///1+ADw-SCRIPT+AD4-alert(/XSS/)+ADw-/SCRIPT+AD4-
Уразливість може існувати в усіх браузерах, де підтримується gopher протокол: Mozilla, Mozilla Firefox, SeaMonkey (та в браузерах на движку Mozilla) різних версій. Браузери Internet Explorer 6 (версій після патча 2002 року, котрий прибрав підтримку gopher) та 7 не уразливі, тому що не підтримують gopher протокол.