Архів за Серпень, 2010

Використання захисних механізмів для блокування доступу до сайта

22:47 31.08.2010

В своїй статті Неякісне використання MD5 у веб додатках я розповів про некоректне використання захисних механізмів, що призводить до уразливостей у веб додатках. У даній статті (що я планував написати з початку 2009) я роповім про інший приклад неякісного використання захисних механізмів, що дозволяє атакувати користувачів та адмінів сайтів.

Зловживання захисними механізмами.

Існує такий метод захисту як блокування (воно може бути зроблене по IP або іншим параметрам). І всі захисні механізми, що використовують автоматичне блокування, можуть бути використані проти користувачів та адмінів сайтів (і навіть ботів пошукових машин). Тобто можлива атака на захисні механізми сайта (на вбудований захист чи на WAF) з метою блокування доступу до сайта.

Заступ може бути заблокований як до акаунта користувача, так і до всього сайта. Тому можливо змусити сайт заблокувати користувачів, що призведе до DoS для кожного атакованого користувача і з великою кількістю заблокованих користувачів це призведе до DoS самого сайта (навіть без проведення DDoS атаки), тому що більшість користувачів не зможуть відвідати сайт.

Це інша версія зворотньої DDoS атаки (reverse DDoS attack) про яку я писав в 2008. Якщо в тому випадку атака вібдувалася на браузери користувачів сайта, то в даному випадку атака відбувається на захисні механізми сайта (від імені відвідувачів сайта).

Можливі наступні атаки:

  • Атаки для блокування аккаунтів при некоректних логінах.
  • Атаки на вбудовані захисні механізми (вбудовані IPS) з блокуванням.
  • Атаки на WAF з включеним блокуванням.
  • Атаки для блокування ботів пошукових систем.

Атаки на вбудовані IPS та WAF є більш небезпечними ніж атаки на логін форми, тому що вони призводять до блокування доступу до всього сайта і можуть бути використані не тільки для блокування користувачів та адмінів сайтів, але також і ботів пошукових систем.

Атаки для блокування аккаунтів при некоректних логінах.

Існують такі веб додатки (наприклад, форуми та інші движки), що використовують автоматичне блокування як захист від Brute Force атак на логін форми. Якщо логіни відомі (а я багато разів присав про численні Information Leakages у веб додатках, що призводять до витоку логінів), то можна заблокувати всі дані акаунти.

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

Атаки на вбудовані захисні механізми (вбудовані IPS) з блокуванням.

Існують сайти з вбудованими захисними механізмами з блокуванням і вони можуть бути атакованими з використанням даного методу. В 2009 я знайшов такий сайт як www.4post.com.ua, де серед інших уразливостей була Abuse of Functionality дірка (в захисному функціоналі, що блокував доступ при одному спеціальному запиті до сайта), що дозволяла проводити блокування користувачів та адмінів сайта.

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

Так що з простою CSRF атакою (такою як GET запит через тег img) на користувачів сайта, можливо заблокувати повний доступ до сайта для користувачів і навіть адмінів сайта. Нижчезгадане блокування ботів пошукових систем також можливе на цьому сайті.

Атаки на WAF з включеним блокуванням.

Існують сайти з WAF з включеним блокуванням і вони також можуть бути атакованими з використанням даного методу. Я бачив такі сайти в своїй практиці, що використовують WAF (зокрема ModSecurity) та повністю блокують відвідувача (по IP) після декількох підозрілих запитів. Так що ламерські WAFи з такими налаштуваннями можуть бути використані проти користувачів та адмінів сайтів з ними.

З декількома простими CSRF атаками (повинно бути стільки атак, скільки треба для перевищення порогу WAF) на користувачів сайта, можливо заблокувати повний доступ до сайта для користувачів та адмінів сайта. Нижчезгадане блокування ботів пошукових систем також можливе на таких сайтах.

Атаки для блокування ботів пошукових систем.

Також можна заблокувати ботів (павуків) пошукових систем за допомогою даної атаки. Якщо зробити спеціальну лінку на іншому сайті що веде на цільовий сайт (і лінка містить необхідні параметри для включення блокування), тоді боти пошуковий систем перейдуть по даній лінці. І після відвідання цільового сайта бот буде заблокований (по IP, якщо блокування відбувається по IP, чи по сесії, якщо блокування відбуваєтьмся по сесії і бот підтримує обробку сесій). Що призведе до того, що сайт не буде проіндексований пошуковими системами і він випаде з індексів пошукових систем.

Вийшов PHP 5.3.3

20:07 31.08.2010

У зв’язку з проблемами з доступом в Інтернет в суботу і в понеділок з публікаціями на сайті виникли затримки. Але я в будь-якому разі виконаю заплановане і опублікую необхідні пости ;-) . Стосовно ж новин.

У липні, 22.07.2010, вийшов PHP 5.3.3. В якому виправлено більше 100 помилок, в тому числі й чимало уразливостей. Даний реліз направлений на покращення стабільності та безпеки гілки 5.3.x.

Cеред секюріті покращень та виправлень в PHP 5.3.3:

  • Rewrote var_export() to use smart_str rather than output buffering, prevents data disclosure if a fatal error occurs.
  • Fixed a possible resource destruction issues in shm_put_var().
  • Fixed a possible information leak because of interruption of XOR operator.
  • Fixed a possible memory corruption because of unexpected call-time pass by refernce and following memory clobbering through callbacks.
  • Fixed a possible memory corruption in ArrayObject::uasort().
  • Fixed a possible memory corruption in parse_str().
  • Fixed a possible memory corruption in pack().
  • Fixed a possible memory corruption in substr_replace().
  • Fixed a possible memory corruption in addcslashes().
  • Fixed a possible stack exhaustion inside fnmatch().
  • Fixed a possible dechunking filter buffer overflow.
  • Fixed a possible arbitrary memory access inside sqlite extension.
  • Fixed string format validation inside phar extension.
  • Fixed handling of session variable serialization on certain prefix characters.
  • Fixed a NULL pointer dereference when processing invalid XML-RPC requests.
  • Fixed SplObjectStorage unserialization problems.
  • Fixed possible buffer overflows in mysqlnd_list_fields, mysqlnd_change_user.
  • Fixed possible buffer overflows when handling error packets in mysqlnd.
  • Also upgraded bundled sqlite to version 3.6.23.1.
  • Upgraded bundled PCRE to version 8.02.
  • Fixed a possible crash because of recursive GC invocation.
  • Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
  • Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function).
  • Fixed bug #52060 (Memory leak when passing a closure to method_exists()).
  • Fixed bug #52001 (Memory allocation problems after using variable variables).

По матеріалам http://www.php.net.

Уразливості на mycityua.com

15:28 31.08.2010

29.12.2009

У травні, 05.05.2009, я знайшов Cross-Site Scripting, SQL DB Structure Extraction та SQL Injection уразливості на проекті http://mycityua.com (онлайн ЗМІ). Про що найближчим часом сповіщу адміністрацію проекту.

Раніше я вже писав про уразливості на www.pk.kiev.ua (це попередній домен даного сайта).

Детальна інформація про уразливості з’явиться пізніше.

31.08.2010

XSS:

POST запит на сторінці http://mycityua.com/search/
"><script>alert(document.cookie)</script>В полях: Текст для поиска, Автор.

SQL DB Structure Extraction:

POST запит ‘” на сторінці http://mycityua.com/search/ в полі “Текст для поиска”.

SQL Injection:

POST запит на сторінці http://mycityua.com/search/ в параметрі categories.

Дані уразливості досі не виправлені.

Витік інформації через mod_proxy_http в Apache

22:43 29.08.2010

19.06.2010

Виявлена можливість витоку інформації через mod_proxy_http в Apache.

Уразливі версії: Apache 2.2.

За певних умов відповідь сервера може бути відправлена іншому клієнту.

  • httpd Timeout detection flaw (mod_proxy_http) (деталі)

29.08.2010

Додаткова інформація.

Вийшов PHP 5.3.2

19:24 29.08.2010

У березні, 04.03.2010, вийшов PHP 5.3.2. В якому виправлено більше 70 помилок, в тому числі й чимало уразливостей. Даний реліз направлений на покращення стабільності та безпеки гілки 5.3.x.

Cеред секюріті покращень та виправлень в PHP 5.3.2:

  • Покращена ентропія LCG.
  • Виправлена валідація safe_mode всередині tempnam() коли шлях директорії не завершувався слешем (/).
  • Виправлений можливий обхід open_basedir/safe_mode в розширенні session.
  • А також додана підтримка SHA-256 і SHA-512 до функції crypt.
  • Доданий захист для $_SESSION від пошкоджень та покращена перевірка “session.save_path”.
  • Виправленні вибивання в функції crypt та в garbage collector.
  • Виправлений збій в ldap_next_reference.

По матеріалам http://www.php.net.

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

15:07 29.08.2010

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

  • vBulletin Denial Of Service Exploit (деталі)
  • Safari 3.2.3 Arbitrary Code Execution PoC (деталі)
  • SAP Business One 2005-A License Manager remote overflow PoC (деталі)
  • Ipswitch WS_FTP 12 Professional Remote Format String 0day PoC (деталі)
  • Safari 3.2.3 (Win32) JavaScript ‘eval’ Remote Denial of Service Exploit (деталі)

Серпневий вівторок патчів від Microsoft

22:46 27.08.2010

В серпні місяці Microsoft випустила 14 патчів. Що значно більше ніж у липні. Це найбільша кількість бюлетней по безпеці за всю історію вівторків патчів від Microsoft.

У серпневому “вівторку патчів” Microsoft випустила черговий пакет оновлень, до якого увійшло 14 бюлетней по безпеці. Що закривають 34 уразливості в програмних продуктах компанії. В тому числі вісім патчів виправляють критичні уразливості, які дозволяють виконати довільний шкідливий код на віддаленому комп’ютері, а ще шість патчів мають “важливий” рейтинг.

Дані патчі стосуються таких продуктів Microsoft як операційні системи Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 R2, Internet Explorer, Silverlight та різні версії MS Office.

Зазначу, що в даний вівторок патчів не увійшов патч для уразливості, що дозволяла виконання коду через ярлики в Microsoft Windows, тому що вона була виправлена позачергово, ще до вівторка патчів.

Цікаве чтиво на тему web security

19:22 27.08.2010

Продовжуючи традицію, пропоную вашій увазі цікаві секюріті статті. Щоб ви поповнювали свої знання з веб безпеки.

Добірка цікавого чтива на тему безпеки, в тому числі web security (статті з Вікіпедії):

Нова уразливість на sourceforge.net

15:09 27.08.2010

11.01.2010

У травні, 16.05.2009, я знайшов Cross-Site Scripting уразливість на відомому проекті http://sourceforge.net. Причому persistent XSS. Про що найближчим часом сповіщу адміністрацію проекту.

Раніше я вже писав про уразливості на sourceforge.net.

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

27.08.2010

XSS (persistent):

POST запит на сторінці http://sourceforge.net/community/cca09/nominate/
<script>alert(document.cookie)</script>В полі “Project Name”.

Код спрацює на декількох сторінках сайта sourceforge.net.

Дана уразливість вже виправлена.

Вийшов PHP 5.2.14

22:41 26.08.2010

У липні, 22.07.2010, вийшов PHP 5.2.14. В якому виправлено більше 60 помилок, в тому числі й чимало уразливостей. Даний реліз направлений на покращення стабільності та безпеки гілки 5.2.x.

Cеред секюріті покращень та виправлень в PHP 5.2.14:

  • Переписаний var_export() для використання smart_str замість вихідної буферизацї, щоб не допустити витоки інформації при фатальних помилках.
  • Виправлений можливий витік масиву преривань в strrchr().
  • Виправлений можливий витік масиву преривань в strchr(), strstr(), substr(), chunk_split(), strtok(), addcslashes(), str_repeat(), trim().
  • Виправлене можливе пошкодження пам’яті в substr_replace().
  • Виправлені проблеми ансеріалізації SplObjectStorage.
  • Виправлене можливе вичерпання стеку всередині fnmatch().
  • Виправлений NULL pointer dereference при обробці некоректних запитів XML-RPC.
  • Виправлена обробка серіалізації сесійних зміних на деяких символах.
  • Виправлений можливий довільний доступ до пам’яті всередині розширення sqlite.
  • А також оновлений PCRE до версії 8.02.
  • Виправлені вибивання в iterator_to_array та при роботі з вказівниками.
  • Виправлений витік пам’яті при запису в неініціалізовану змінну, що повернута з функції.
  • Виправлені вибивання в __destruct() та debug_backtrace().
  • Виправлене вибивання при роботі з iconv на MacOS.

По матеріалам http://www.php.net.