Ін’єкція скриптів в Adobe Acrobat

19:04 19.01.2010

В своєму повідомленні Adobe Acrobat Script Injection Paul Theriault розповів про знайдену ним Script Injection уразливість в Adobe Acrobat. До якої вразливі Adobe Reader та Acrobat 9.2, 8.1.7 та попередні версії. Як я перевірив Adobe Reader 6.0 не вразливий.

Уразливість має місце в Forms Data Format (FDF) в PDF документах, що дозволяє зробити ін’єкцію JavaScript в будь-який PDF файл. Атака з використанням даної уразливості дозволяє отримати доступ до змісту важливих pdf файлів, а також на сайтах з редиректорами (так званими open redirector) можлива Cross-Site Scripting атака.

Зазначу, що дане використання редиректорів для обходу секюріті повідомлення в Adobe Reader та Acrobat і проведення XSS атаки, є дуже цікавим варіантом використання редиректорів. Який я додам до свого переліку 12 атак через редиректори, про які я писав у статті Редиректори: прихована загроза.

Добірка експлоітів

16:12 19.01.2010

В даній добірці експлоіти в веб додатках:

  • Jax FormMailer 3.0.0 Remote File Inclusion Vulnerability (деталі)
  • PunBB Extension Vote For Us <= 1.0.1 Blind SQL Injection Exploit (деталі)
  • TSEP <= 0.942.02 Multiple Remote Vulnerabilities (деталі)
  • Messages Library 2.0 Arbitrary Administrator Account Vulnerability (деталі)
  • ARD-9808 DVR Card Security Camera Arbitrary Config Disclosure Vuln (деталі)
  • Messages Library 2.0 Insecure Cookie Handling Vulnerability (деталі)
  • Messages Library 2.0 Arbitrary Delete Message Vulnerability (деталі)
  • CMS Chainuk <= 1.2 Multiple Remote VUlnerabilities (деталі)
  • KerviNet Forum <= 1.1 Multiple Remote Vulnerabilities (деталі)
  • (GET var ‘id’) BLIND SQL INJECTION EXPLOIT Dog Pedigree Online Database v1.0.1-Beta (деталі)

SQL Shell

21:21 18.01.2010

Сьогодні вийшла нова версія програми SQL Shell v.1.0.2. В новій версії:

  • Додана підтримка відповідей з помилкою 404.
  • Оптимізований код програми.
  • Покращений опис програми.

SQL Shell є консольним інтерфейсом для проведення SQL Injection атак.

Скачати: SQL_Shell_v.1.0.2.rar.

Захист персональних даних в ПриватБанку

18:39 18.01.2010

Раніше я вже неодноразово писав про уразливості на www.privatbank.ua - проблеми з безпекою достатньо поширені на сайтах ПриватБанку. І зараз я розповів про черговий випадок.

В записі Приватбанк - защита персональных данных автор розповідає про те, як ПриватБанк дбає про захист персональних даних своїх клієнтів. На сайті банку можна легко знайти персональні дані клієнтів ПриватБанка.

Спочатку потрібно знайти логіни працівників банку (через Skype), що стало можливим через допущений витік інформації (як окремими працівниками, так і банком у цілому). Далі на сайті банку на сторінці історії потрібно ввести знайдені логіни і отримати перелік клієнтів даних працівників банку з персональними даними цих клієнтів.

Зазначу, що згаданий у записі сайт Привата, де можна було переглянути історію, вже не працює. Але легко можна знайти на офіціному сайті іншу форму для перегляду історії (я знайшов її на http://www.privatbank.ua). Де можна ввести знайдені логіни для отримання інформації про клієнтів банку.

Дана інформація може бути використання зловмисниками, зокрема фішерами, для проведення атак на клієнтів банку. Тому ПриватБанку не слід допускати подібних витоків інформації.

Зазначу, що стосовно уразливостей на сайтах банків останній раз я писав про уразливості на www.agrocombank.kiev.ua.

Добірка уразливостей

16:12 18.01.2010

В даній добірці уразливості в веб додатках:

  • Cisco IOS NAT Skinny Call Control Protocol Vulnerability (деталі)
  • Cisco IOS MPLS Forwarding Infrastructure Denial of Service Vulnerability (деталі)
  • Vulnerability in Cisco IOS While Processing SSL Packet (деталі)
  • Cisco IOS Software Layer 2 Tunneling Protocol (L2TP) Denial of Service Vulnerability (деталі)
  • MULTIPLE LOCAL FILE INCLUSION VULNERABILITIES FretsWeb 1.2 (деталі)
  • PhpPortal v1 Insecure Cookie Handling Vulnerability (деталі)
  • HP-UX Running Netscape / Red Hat Directory Server, Remote Cross Site Scripting (XSS) or Remote Denial of Service (DoS) (деталі)
  • FretsWeb 1.2 Multiple Local File Inclusion Vulnerabilities (деталі)
  • fuzzylime cms <= 3.03a Local Inclusion / Arbitrary File Corruption PoC (деталі)
  • FretsWeb 1.2 (name) Remote Blind SQL Injection Exploit (деталі)

Обхід захисту в Microsoft IIS

22:48 16.01.2010

Виявлена можливість обходу захисту в Microsoft IIS. Дана техніка увйшла до переліку найкращих веб хаків 2009 року.

Уразливі продукти: Microsoft Internet Information Services (IIS) під Windows 2000 Server, Windows 2000 Professional, Windows XP, Windows 2003 Server, Windows Vista, Windows 2008 Server, Windows 7.

Частина імені файлу після крапки з комою ігнорується, що дозволяє підмінити розширення файлу, наприклад файл script.asp;.jpg виконується сервером як скрипт ASP.

  • Code to mitigate IIS semicolon zero-day (деталі)
  • Microsoft IIS 0Day Vulnerability in Parsing Files (semi-colon bug) (деталі)

Нова уразливість в FCKeditor

19:02 16.01.2010

14.11.2009

Після виявлення попередніх XSS та Content Spoofing уразливостей в FCKeditor, у липні, 08.07.2009, я знайшов нову Cross-Site Scripting уразливість в FCKeditor. Дірку я виявив на сайті одного мого клієнта. Про що найближчим часом повідомлю розробникам редактора.

Детальна інформація про уразливість з’явиться пізніше. Спочатку повідомлю розробникам веб додатка.

16.01.2010

XSS:

Це persistent XSS через Flash.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"><param name=movie value="http://site/xss.swf"><param name="allowscriptaccess" value="always"><embed src="http://site/xss.swf" allowscriptaccess="always"></embed></object>

Дана уразливість в самому редакторі, тому її можна використати на будь-якому сайті, що використовує FCKeditor в якості редактора для веб форм.

Уразливі FCKeditor 2.6.4 та попередні (та наступні) версії.

Розробник виправляти дану уразливість не став мотивуючи тим, що FCKeditor немає вбудованих XSS фільтрів і це задача кожного розробника, що його використовує, фільтрувати вхідні дані. І враховуючи, що даний текстовий редактор має багатий функціонал, не всі вектори XSS атак виправляються, що призводить до появи подібних XSS уразливостей (як у випадку сайта мого клієнта, де дана уразливість могла призвести до зараження всього сайта XSS-хробаком).

Добірка експлоітів

15:31 16.01.2010

В даній добірці експлоіти в веб додатках:

  • Audio Article Directory (file) Remote File Disclosure Vulnerability (деталі)
  • Joomla com_bookflip (book_id) Remote SQL Injection Vulnerability (деталі)
  • Cpanel (lastvisit.html domain) Arbitrary File Disclosure Vuln (auth) (деталі)
  • SMF Mod Member Awards 1.0.2 Blind SQL Injection Exploit (деталі)
  • DM FileManager 3.9.4 Remote File Disclosure Vulnerability (деталі)
  • MDPro Module CWGuestBook <= 2.1 Remote SQL Injection Vulnerability (деталі)
  • PunBB Affiliates Mod <= 1.1 Remote Blind SQL Injection Exploit (деталі)
  • phpMyBlockchecker 1.0.0055 Insecure Cookie Handling Vulnerability (деталі)
  • BIGACE CMS 2.6 (cmd) Local File Inclusion Vulnerability (деталі)
  • maxcms2.0 create new admin exploit (деталі)

Майбутнє XSS атак

22:46 15.01.2010

У випадку коли для Cross-Site Scripting атаки на сайті не можна використати жодні теги і кутові дужки, можна провести XSS атаку з використанням властивостей тегів. Це може бути властивість style, або різні обробники подій (або іноді можна провести атаку через властивість src). Для атаки потрібно використати лапки (одинарні чи подвійні, або іноді навіть лапки не потрібні), щоб додати нову властивість тегу, в який вдалося включити код.

При атаці через властивість style використуються наступні методи (при яких код виконується автоматично при завантаженні сторінки):

1. Через expression(), що працює лише в браузерах IE (до IE8).
2. Через background:url() чи background-image:url(), що працює лише в браузерах IE.
3. Через -moz-binding:url(), що працює лише в Mozilla Firefox та інших браузерах на движку Gecko (до Firefox 3).

Приклади атак з expression() і -moz-binding ви можете побачити у випадку уразливостей на www.ibm.com.

При атаці через обробники подій використуються наступні методи:

1. Через onMouseOver, onfocus, onblur, onselect, onchange, onclick та інші події (при яких код виконується при відповідній події).
2. Через onerror, onload, onunload (при яких код виконується автоматично при відкритті сторінки, або її закритті у випадку події onunload).

Можливість використовувати onerror, onload і onunload трапляється не дуже часто, а інші обробники спрацьовують не автоматично, тому менш популярні при проведенні XSS атак. Найбільш часто використовуються саме атаки через властивість style.

Але ще в 2008 році в Firefox 3 була прибрана можливість атаки через -moz-binding (прибрана частково - можна атакувати лише з використанням xml-файлів на тому ж сайті). Про що я писав в статті XSS атаки в Mozilla Firefox через стилі. А в Internet Explorer 8, що вийшов на початку 2009, прибрана підтримка expression(). Підтримка javascript та vbscript URI в background та background-image також може бути з часом прибрана.

Тому в світлі даних подій в нових браузерах стало важче проводити автоматизовані XSS атаки у таких випадках (коли не можна використати жодні теги і кутові дужки). І чим більш поширеними стануть дані версії браузерів, тим важче буде проводити XSS атаки в даних умовах (щоб вини були автоматизовані, без необхідності користувачу виконувати деякі дії). З іншої сторони, такі браузери як Opera, Chrome та інші браузери зовсім не піддаються атакам через властивість style.

Для вирішення цієї задачі може використовуватися техніка MouseOverJacking, про яку я вже писав. Дана техніка дозволяє провести автоматизовану XSS атаку. Причому це кросбраузерне рішення, що працює в усіх браузерах. В тому числі в IE8 - при використанні CSS (як у моїх PoC) вона дозволяє обійти вбудований захист IE8 від Clickjacking.

Тобто MouseOverJacking може використовуватися не тільки для специфічних атак, про які йшлося в статті про дану техніку, а для широкого кола XSS атак (замість expression() і -moz-binding). Причому атака повністю автоматизована, тобто ефективність атаки така сама як і у expression() і -moz-binding (а за рахунок кросбраузерності можна атакувати навіть більше користувачів).

Подібні атаки можна проводити як через MouseOverJacking, так і через Clickjacking. Але у MouseOverJacking вища ефективність, тому що при Clickjacking атаці жертва повинна зробити клік (що може відбуватися не завжди), а при MouseOverJacking не потрібно робити жодних дій, лише один рух мишкою (що відбудеться завжди).

Приклади PoC для Cross-Site Scripting уразливостей.

Для reflected XSS:

http://site/script?param=%22%20style=%22width:100%;height:100%;display:block;position:absolute;top:0px;left:0px%22%20onMouseOver=%22alert(document.cookie)%22

Для persistent XSS:

<a href="#" style="width:100%;height:100%;display:block;position:absolute;top:0px;left:0px" onMouseOver="alert(document.cookie)">&nbsp;</a>

Так що я пропоную використовувати техніку MouseOverJacking для широкого кола XSS атак (у випадку неможливості використання тегів і кутових дужок). І секюріті професіонали і нападники можуть використовувати дану техніку для створення PoC для XSS уразливостей чи для проведення XSS атак.

Найкращі покращення безпеки в 2009

19:15 15.01.2010

В своєму листі до розсилки Best security improvements of 2009? Andy Steingruebl підняв цікаву тему. Які відбулися покращення безпеки в 2009 році?

Він навів наступні покращення, що з’явилися в минулому році:

  • IE8 removed CSS expressions support.
  • Rails now does output escaping by default.
  • The new STS header.
  • Firefox checks for updates to plugins.
  • Mozilla Content Security Policy (CSP).
  • Microsoft IE8 X-Frame-Options anti-framing header.

Дані покращення - це звичайно добре. Але стосовно покращень в IE8 в мене є ряд зауважень.

Те, що в IE8 нарешті прибрали підтримку expression(), це дозволить захистити користувачів браузера від XSS атак через expression(), а також від DoS атак (що були можливі в IE7 та попередніх версіях). Але стосовно даного захисту від XSS атак, то я тут бачу не тільки позитивні, але й негативні наслідки (тому що XSS дірки на сайтах потрібно виправляти на сайтах, а не в браузерах). І я розробив власну методику XSS атак, що дозволяє проводити XSS атаки в різних браузерах (в тому числі IE8), що може бути використана замість старих атак з expression(), про що я напишу окрему статтю.

А от заголовок X-Frame-Options в IE8 лише частково вирішує проблему. І методика атак через CSS, що я описав в статті MouseOverJacking атаки, дозволяє обходити даний захист в IE8 та може застосовуватися для проведення Clickjacking та MouseOverJacking атак в різних браузерах.

Зі своєї сторони додам наступні (еволюційні) покращення безпеки за 2009 рік:

  • Випуск нових версій Mozilla Firefox, Internet Explorer, Opera, Chrome та інших браузерів з виправленням уразливостей. За рік безпека браузерів покращилася, але все ще є багато дірок, що потрібно виправляти, і весь час з’являються нові.
  • Випуск нових версій Perl (в тому числі mod_perl) з виправленням уразливостей.
  • Випуск нових версій PHP 5.x з виправленням уразливостей (окрім випуску версій PHP від 5.2.8 до 5.2.12, також вийшли PHP 5.3 та PHP 5.3.1).
  • Випуск нових версій Python, Ruby та інших інтерпретаторів з виправленням уразливостей.
  • Випуск нових версій Apache, IIS та інших веб серверів з виправленням уразливостей.

Не кажучи про виправлення дірок, які робили на протязі року власники сайтів та веб девелопери (це відбується постійно). А також виправлення у різних плагінах до браузерів (Flash та інших) та в десктоп версіях даних додатків. У списку лише найбільш глобальні покращення безпеки.