26.03.2011
Ще 06.02.2008 я виявив URL Spoofing уразливість в Mozilla Firefox, Internet Explorer, Google Chrome та Opera (спочатку в Mozilla та Internet Explorer, а вже потім протестував в Chrome, Opera та нових версіях Firefox та IE, коли поставив собі ці браузери). Інші браузери без сумніву також уразливі. Про що найближчим часом повідомлю розробникам.
Дану уразливість я виявив коли досліджував вбудований CSRF в Mozilla та Firefox. Атаку я назвав Onsite phishing (Inline phishing). Вона може бути використана (в тому числі фішерами) для викрадення облікових даних користувачів веб сайтів.
Детальна інформація про уразливість з’явиться пізніше. Спочатку повідомлю розробникам браузерів.
21.07.2011
Дана атака на браузери може використовуватися (в тому числі фішерами) для викрадення логінів і паролів користувачів сайтів.
Як я протестував, багато різних методів (з використанням тегів і CSS), що дозволяють робити міжсайтові запити, може бути використано для проведення даної атаки. Окрім префетчінга (у всіх браузерах на движку Gecko, що пітримують функцію prefetching), що не виводить вікно аутентифікації при отриманні 401 відповіді від веб сервера. Наступні методи можуть бути використані:
Теги img, script, iframe, frame, embed, link (css) - Mozilla, Firefox, IE, Google Chrome та Opera.
Тег object - Internet Explorer, Google Chrome та Opera.
CSS (inline, в html файлах, в зовнішніх css файлах): такі як -moz-binding:url - Mozilla та Firefox < 3.0, такі як background-image:url - в усіх браузерах.
Ось скріншоти атаки на різні браузери (в Firefox 3.0.19, 3.5.x, 3.6.x. 4.0b2 діалогове вікно виглядає майже однаково):
Attack on Mozilla
Attack on Firefox
Attack on IE6
Attack on IE7
Attack on IE8
Attack on Chrome
Attack on Opera
Атака може бути зроблена як відбита (reflected) на цільовому сайті, так і постійна (persistent), з використанням дозволеного функціонала на цільовому сайті, який дозволяє розміщувати деякі теги, наприклад, тег img. Persistent атака є більш небезпечною (і саме цей тип атаки показаний на скріншотах).
Уразливі Mozilla Firefox, Internet Explorer, Google Chrome, Opera та всі інші браузери, що підтримують Basic/Digest Authentication (а це всі сучасні та більшість старих браузерів).
В березні, після мого увідомлення, Mozilla відкрила Bug 647010 в Bugzilla для цієї уразливості.
І лише Мозіла з чотирьох розробників браузерів, яким я повідомив, заявила, що вони планують виправити цю дірку (але не уточнюючи коли саме). Той же Гугл мені навіть не відповів, але в середині червня представники компанії Google заявили в своєму блозі, що в браузерах Chrome 13 і вище (а минулого місяця вийшла 12 версія, а 13 знаходиться у стані бета версії) вони виправили дану уразливість. Шляхом заборони виведення вікна аутентифікації для ресурсів з інших доменів.
Подібна несерйозна поведінка Гугла є ламерською, коли виправляють дірки втихаря, не відповівши і не подякувавши людині, яка про них повідомила. Не поважаю компанії з такою поведінкою. І з такими випадками я вже стикався в минулі роки від Mozilla, Microsoft та Opera, тому нічого нового - типова ламерська поведінка виробників браузерів. Але цей крок Google має стимулювати інших виробників браузерів виправити дану уразливість в своїх продуктах.