| ІТ Статті: Local XSS - Локальний XSS
Розповім вам про новий вид Cross-Site Cripting уразливостей, Local XSS, який я створив у червні 2006 року для кращої класифікації XSS уразливостей, коли знайшов уразливість в Ad Muncher.
Local XSS - Локальний XSS - це Cross-Site Cripting уразливості в локальному програмному забезпеченні (на компьютері користувача, або в локальній мережі), які приводять до появи XSS уразливостей. Тобто, це такі XSS уразливості, що мають місце не безпосередньо на сайті, а в локальному ПЗ користувача. І які дозволяю атакувати навіть сайти, що можуть і не мати XSS уразливостей. Зокрема такий вид уразливостей призводить до появи так званих універсальних XSS, що дозволяють проводити атаки на численні сайті, у випадку коли користувач використовує уразливу програму.
Дані уразливості можуть мати місце в браузерах та в інших програмах, що пов’язані з роботою в Інтернеті. Таких як плагіни до браузерів, проксі сервери, банерорізки (що виконують функцію проксі сервера) та інших.
Дані уразливості мають місце не на сайті, а у користувача на локальному комп’ютері (при використанні уразливої програми), тому адміни сайтів і веб розробники часто ігнорують подібні уразливості. В деяких випадках власники сайтів нічого зробити не можуть по відношенню до даних уразливостей (лише порадити користувачам оновити уразливу програму), в інших випадках власники сайтів можуть використовувати різні захисні методи (як у випадку UXSS в PDF та уразливості в IE8).
Різновиди Local XSS.
Бувають наступні види Local XSS: Reflected local XSS - найбільш поширений різновид local XSS. Persistent local XSS - це Post Persistent XSS (Saved XSS), тобто даний різновид XSS відноситься одночасно і до Persistent XSS і до Local XSS. Strictly social local XSS - даний різновид XSS відноситься одночасно і до Strictly social XSS і до Local XSS.
Про Post Persistent XSS (Saved XSS) підклас Cross-Site Cripting уразливостей я вже писав, а про Strictly social XSS підклас я з часом напишу окрему статтю.
Розглянемо приклади різних видів Local XSS уразливостей.
Reflected local XSS.
Reflected local XSS - це Reflected XSS в локальних додатках.
Прикладом Reflected local XSS є наступні уразливості:
Універсальна XSS в PDF, про що я писав в 2007 році. Дану уразливість в Adobe Reader та Acrobat, а також їхніх плагінах до браузерів, виявив і оприлюднив Stefano Di Paola наприкінці 2006 року. Для атаки необхідно було використати pdf-файл на будь-якому сайті, що містить pdf-файл (за виключенням тих, що на стороні сервера подбали про захист від даної атаки). Уразливості в різних плагінах, зокрема уразливості в QuickTime, Adobe Flash Player та Adobe Acrobat. Якщо persistent XSS через Flash вважаються Адобом фічою флеша, так само як і strictly social XSS в 8 мільйонах та 34 мільйонах флеш файлах, то вищезгадані reflected XSS Адоб виправив. Cross-Site Scripting через jar: URI в Firefox, яку виявили в 2007 році PDP та Beford, Універсальна XSS уразливість в Ad Muncher, про що я писав в 2010 році. Атака відбувалася при відвідуванні спеціально створених URL, за допомогою чого можна було провести XSS атаку на будь-якому сайті (за виключенням тих випадків, про які розповідається в данному записі). Уразливості в Sidki та Proxomitron, про що Charles Reis, Steven D. Gribble, Tadayoshi Kohno та Nicholas C. Weaver написали в 2008 році. Як вони виявили через рік після мене, в 2007 році, окрім Ad Muncher, також до подібної XSS вразливі Sidki та набір фільтрів Grypen для Proxomitron. Уразливість в Internet Explorer 8 - Eduardo Vela Nava та David Lindsay на початку цього року виявили уразливість в XSS Filter в IE8, що дозволяє проводити XSS атаки на користувачів IE8 на будь-яких сайтах (за виключенням тих, що на стороні сервера подбали про захист від даної атаки).
Persistent local XSS.
Persistent local XSS - це Persistent XSS в локальних додатках, зокрема це Post Persistent XSS (Saved XSS) уразливості.
Прикладом Persistent local XSS є наступні уразливості:
Cross-Site Scripting уразливість в Internet Explorer, про що я писав в 2007 році. Атака відбувається при збереженні сторінки зі спеціально створеним URL та подальшому відкритті даної сторінки в браузері. Cross-Site Scripting уразливість в Google Chrome, про що я писав в 2008 році. Атака аналогічна до атаки на IE. Cross-Site Scripting уразливість в Opera, про що я писав в 2008 році. Атака аналогічна до атаки на IE та Chrome. Універсальна XSS уразливість в Ad Muncher, про що я писав в 2010 році. В даному додатку можна було провести як Reflected local XSS атаку, так і Persistent local XSS атаку.
Strictly social local XSS.
Strictly social local XSS - це Strictly social XSS в локальних додатках.
Прикладом Strictly social local XSS є наступні уразливості:
Cross-Site Scripting в Mozilla та Firefox, про що я писав в 2007 році. Атака відбувається через gopher протокол. Для проведення XSS атаки необхідно, щоб користувач браузера Mozilla, Firefox або SeaMonkey (чи інших браузерів на движку Gecko) перейшов не спецільно створену сторінку і змінів кодування на UTF-7. Cross-Site Scripting з UTF-7 в Mozilla та Firefox, про що я писав в 2009 році. Атака відбувається через http, https і ftp протоколи (дана уразливість є продовждення попередньої, в якій використовуються нові протоколи).
Cross-Site Scripting уразливості в Mozilla та Firefox, про що я писав в 2009 році. Атака відбувається при запиті до location-header редиректора з вказанням JavaScript коду. При запиті браузер виводить сторінку “Object Moved”, де в лінці “here” виводить даний код, при натисканні на яку код спрацює.
http://websecurity.com.ua/
Розмістив: dementor [19/05/2010]
|