Продовжу тему, яку я підняв в попередніх двух записах про URL Spoofing уразливість в GoogleBot, Yahoo! Slurp, Mozilla та Internet Explorer (яка також може бути в ботах інших пошуковців). І розповім вам про атаку, яка може працювати в усіх браузерах та в усіх пошукових системах (боти всіх пошуковців можуть бути вразливими).
Учора, 29.04.2009, під час досліджень я виявив, що не тільки url-encoded символи можна використовувати для атаки, а й стандартні ASCII символи (з числа видимих символів). Можливі запити з символами AZaz09, при цьому AZ автоматично конвертуються в az в Mozilla (але не в IE6). Та деякими спецсимволами в Mozilla (!%^&()`~-_+=) та в IE6 (!^&()`~-_+=, причому ^ і ` IE конвертує в url-encoded) та відповідними спецсимволами в інших браузерах (- і _ підтримують усі браузери).
URL Spoofing:
http://site.com.aaaaaaaaaawww.tab.net.ua/sites/blog/site_name.mikolasz/id.195/
Всього символів між крапками поминно бути не більше 63 (це обмеження на назву піддомена). Тобто між “http://site.com.” і “.tab.net.ua” може бути до 63 (включно) символів. Причому таких піддоменів може бути довільна кількість. Серед різних символів найбільш зручними для атаки є символи “-” та особливо “_”.
http://site.com.---------------------------------------------------------------.tab.net.ua/sites/blog/site_name.mikolasz/id.195/
http://site.com._______________________________________________________________.tab.net.ua/sites/blog/site_name.mikolasz/id.195/
Дані атаки працюють в усіх браузерах та явно будуть працювати в усіх пошукових системах. На відміну від атак з використанням url-encoded символів, які працюють серед браузерів лише в Mozilla, IE6, IE7 та Safari 3.2.2 (і потенційно в IE8).
Наведені приклади атак працюють в наступних браузерах: Mozilla 1.7.x, Internet Explorer 6 (6.0.2900.2180), Firefox 3.0.9, Opera 9.52 та Google Chrome 1.0.154.48. І повинні працювати в Internet Explorer 7, Safari 3.2.2 і потенційно в IE8 та інших браузерах.
Проведення атаки.
Як я вже писав раніше, можливість даної атаки залежить від налаштувань веб сервера, який повинен підтримувати будь-які піддомени. Тобто не на кожному веб сайті можна провести дану атаку, а лише на відповідно налаштованих. Зокрема я виявив наступні сайти, що вразливі до даної атаки: www.tab.net.ua, www.engadget.com і www.poweroptimizer.com.
Виділю два алгоритма проведення даної атаки.
1. Використання сайта, що має відповідну конфігурацію веб сервера, який вразлий до даної атаки. Через реєстрацію на даному сайті, або через уразливості на ньому. Розглянемо на прикладі www.tab.net.ua (соціальна мережа).
- Зареєструвати собі акаунт на www.tab.net.ua.
- Розмістити на своєму сайті в рамках даного сервісу шкідливий код (для проведення фішинг атаки, чи для поширення шкідливого коду).
- Створити собі спеціальний URL: http://bank.com._(x63).tab.net.ua/sites/blog/site_name.bad/id.1/.
- Заманити жертву на даний URL.
- В тому числі можна надати даний URL пошуковцям для індексації, щоб жертви самі потрапили в пастку через пошукові системи.
2. Використання власного сайта, що має відповідним чином сконфігурований веб сервер.
- Розмістити на своєму сайті шкідливий код (для проведення фішинг атаки, чи для поширення шкідливого коду).
- Створити собі спеціальний URL: http://bank.com._(x63).badsite.com.
- Заманити жертву на даний URL.
- В тому числі можна надати даний URL пошуковцям для індексації, щоб жертви самі потрапили в пастку через пошукові системи.
У другому випадку, якщо спеціальні антифішинг сервіси занесуть домен даного сайту (badsite.com) в свої списки, то власники браузерів з антифішинг системами будуть захищені. І то лише, якщо подібні системи працюють по домену (badsite.com), а не по домену з піддоменами (bank.com._(x63).badsite.com). Бо інакше, або фільтр не спрацює (в залежності що саме занесено до нього), або зловисники зможуть його легко обійти змінивши URL для атаки (bank.com._._(x63).badsite.com).
А в першому випадку взагалі антифішинг системам буде не просто забанити сайт, бо атакуючі сайти будуть хоститися на легальних і популярних сервісах.
Підсумовуючи скажу, що користувачам Інтернету потрібно бути обережними і слідкувати за власною безпекою, щоб не стати жертвою URL Spoofing атаки. Як і власникам веб сайтів потрібно слідкувати за безпекою власних сайтів.
P.S.
Склейка доменів (domain gluing) може використовуватися не тільки для URL Spoofing атаки, але й для XSS атаки (в деяких браузерах), як я показав на прикладі www.engadget.com.