Уразливості, що мають місце на всьому сайті

22:48 19.06.2010

Іноді я зустрічаю сайти, де одна і та сама уразливість має місце на всьому сайті, на кожній його сторінці. Це можуть бути як SQL Injection чи Cross-Site Scripting, так й інші уразливості. Тобто сайт представляє собою сито з дірок.

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

1. На сайті є уразливий код, що включений до багатьох або усіх сторінок сайта.

2. На сайті включений зовнішній код (наприклад, JavaScript код зовнішнього додатку), що розміщений на багатьох або усіх сторінках сайта.

3. На сайті не зроблені видповіді налаштування (або на сайті вцілому, або в кожному скрипті зокрема), що призводить до появи дірок на багатьох або усіх сторінках сайта (наприклад, Full path disclosure уразливостей).

Розглянемо приклади подібних випадків.

Серед випадків, що відносяться до першої причини, є наступні. В 2006 році я виявив численні SQLi та XSS уразливості на www.daily.com.ua, що мали місце майже на кожній сторінці сайта.

В 2007 році я виявив численні XSS уразливості на www.moskva.com, що мали місце майже на всіх сторінках сайта. А в 2009 році я виявив численні XSS уразливості на www.yuniti.com, що мають місце на всіх сторінках сайта (і досі не виправлені).

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

Також в 2006 році я виявив уразливості в Яндекс-Директ - в JS-коді системи Яндекс-Директ. Які я виявив на одному сайті, що розміщував контекстну-рекламу даної системи (і кожна сторінка, що містила даний код, мала XSS уразливості). І відповідно всі сайти, що використовували Яндекс-Директ і самі не докладали зусиль по убезпеченню від XSS атак, можли бути атаковані (всі користувачі даних сайтів). А в 2007 році я виявив на одному сайті уразливість в коді Google Analytics.

Серед випадків, що відносяться до третьої причини, є наступні. В PHP додатках, якщо не відключене виведення повідомлень про помилки (на сайті чи в кожному скрипті), у випадках, коли має місце помилка, виводиться повідомлення про помилку, при цьому вказуючи повний шлях на сервері (тобто це Full path disclosure уразливість). І в тих випадках, коли проблема стосується всіх php-скриптів на сайті (наприклад, сталися проблеми з якимось важливим файлом, або змінилися права на сервері, або інші проблеми на сервері), то у всіх php-скриптах буде FPD уразливість.

Численні подібні випадки можна побачити з серії моїх статей про “Warning” Google хакінг. Або на взломаних сайтах, коли були внесені некоректні зміни в один файл (зокрема, файл конфігурації), що включається в усі скрипти на сайті, і тому на кожній сторінці сайта має місце FPD уразливість.


Leave a Reply

You must be logged in to post a comment.