Міжпрограмний XSS - Cross-Application Scripting
23:52 14.10.2011Раніше я вже розповідав про різні класи Сross-Site Scripting уразливостей, в тому числі про багато класів XSS створених мною. В останнє я розповідав про Міжмовний XSS (Cross-Language Scripting) та Міжконтекстний XSS (Cross Context Scripting). А зараз розповім вам про ще один тип XSS уразливостей.
Це Міжпрограмний XSS - Cross-Application Scripting (CAS, XAS). Про який я згадув раніше в добірці статей і зараз розповім докладніше. Цей різновид XSS уразливостей трапляється в локальних додатках. Причому в зазначеній статті на Вікіпедії згадується не тільки про Cross-Application Scripting, але й про Cross-Application Request Forgery (CARF).
Різновиди Cross-Application Scripting.
Бувають наступні види Міжпрограмного XSS:
- Постійний XAS - persistent XAS.
- Відбитий XAS - reflected XAS.
Даний різновид XSS може використовуватися для атак на локальні додатки. Як шляхом передачі атакуючого коду локально (через файл) чи віддалено для уразливого додатку, так і шляхом атаки через буфер обміну.
Особливості Міжпрограмного XSS.
Дані уразливості трапляються в локальних додатках, що використовують браузерні движки. Такі як движок браузера Internet Explorer (Trident) чи інших браузерів. Тому виконання JavaScript/VBScript коду в таких додатках призводить до виконання коду в браузері в локальному контексті. З відповідними наслідками (зокрема можливий доступ до файлової системи, що може призвести до витоку інформації з локальних файлів).
Як і у випадку Local XSS, дані уразливості мають місце в локальних додатках - в цьому схожість цих класів XSS. Але XAS уразливості направлені на локальний комп’ютер, а не на веб сайти - в цьому цей клас схожий з Cross Context Scripting. Але якщо у випадку Cross Context Scripting атака відбувається в рамках одного додатку (чи в самому браузері, чи через плагін/доповнення/тулбар до браузеру), то у випадку XAS атака відбувається між різними додатками. Так само як це має місце в Міжпрограмних DoS (Cross-Application DoS), про які я писав в 2008 році.
Окрім виконання JS/VBS коду в локальному контексті подібно до Cross Context Scripting (Cross-zone scripting), XAS може використовуватися для виконання коду в локальному додатку (вразливому до переповнення буферу).
Детально про Cross-Applications Scripting ще в 2005 році розповів QQLan в статті XSS – WEB = Cross-Applications Scripting. В якій автор навів цікаві приклади XAS дірок в сканері безпеки WebInspect та в утілітах Windows.
Приклади Cross-Application Scripting уразливостей.
Прикладами Міжпрограмного XSS є наступні уразливості в декстопних програмах, зокрема таких як антивіруси, IM-клієнти, словники, сканери безпеки та утіліти Windows:
Cross-Application Scripting в Sophos Anti-Virus
Cross-Application Scripting та Cross-Application DoS в ICQ 6
Cross-Application Scripting в Babylon
XAS уразливості в SPIDynamics WebInspect, що описані в вищезгаданій статті.
XAS в Gpedit та RSoP в Microsoft Windows, що описані в вищезгаданій статті.
Використання движків браузерів, зокрема IE, в інших додатках, розробники яких не слідкують достатньо за безпекою, створює умови для появи Cross-Application Scripting уразливостей.
Вівторок, 21:45 01.11.2011
You can read this article on English in The Web Security Mailing List: Cross-Application Scripting.
Вівторок, 19:00 21.08.2012
Іще одним прикладом XAS є уразливість в GNOME Nautilus, який використовує движок Gecko від Mozilla.