Проверка сайта на наличие уязвимостей
19.04.2013После обращения с просьбой провести аудит сайта site2.com (название изменено), нашими специалистами был предоставлен следующий security отчет:
site2.com
Список обнаруженных уязвимостей:
XSS (Cross Site Scripting)
Уровень опасности: высокий
Возможные последствия: обход механизмов авторизации посредством подмены
содержимого cookies.
Удаленный пользователь может с помощью специально сформированного
запроса выполнить
произвольный код сценария в браузере жертвы в контексте безопасности
уязвимого сайта.
Эксплуатация уязвимости: злонамеренный пользователь создает тикет, в
тело которого встраивается
java script код, делающий дамп cookies при попытке прочитать тикет.
Cookie уходит на сетевой сниффер, оттуда забирается и путем
редактирования собственных cookie становится возможным осуществить
подмену сессий.
Рекомендуемые меры: избыточная фильтрация входных данных (метасимволов)
обрабатываемых
формой отправки сообщений (Submit new ticket
https://site2.com/store/index.php?id=tickets ).
Установка Web Application Firewall, фильтрация метасимволов с помощью
функции "htmlspecialchars"
Sensitive information Leakage (утечка чувствительной информации)
Уровень опасности: высокий
Риск: Получение привилегированного доступа к системе методами
социальной инженерии
Возможный сценарий атаки: злонамеренный пользователь связывается с
сотрудником IT-отдела (к
примеру с Р* Р* А* (903)777-777-7, либо с Б* А* А* (его
контакты(903)777-77-77) E-Mail: 777@777.ru), либо
с В* В* (его контакты E-Mail: 777@777.ru Мобильный: 8-777-7-777-777
ICQ:7777777 ) от имени одного из
руководителей компании;например как Заб* Се* Ви* - Генеральный директор
его тел. (903)777-77-77), Ч*
Ю* В* - Исполнительный директор ((905)777-77-77), Д* С* А* -
Коммерческий директор (962)777-77-77, с
просьбой предоставить ему удаленный доступ к серверу (rdp, kerio etc..)
в связи с якобы возникшей необходимостью.
Просьба руководства де факто должна быть удовлетворена.
URLs:
Телефоны http://site2.com:8091/company/telephones.php
Сотрудники http://site2.com:8091/about/company/tops.php
График дежурств http://site2.com:8091/about/schedules/detail.php?ID=6315
Настоятельно рекомендовано ограничить доступ к Корпоративному порталу
только с доверенных/внутренних IP, либо ограничить возможность просмотра страниц для неавторизованных пользователей системы.
ОС: FreeBSD 7.0-i386-20100714
Возможные уязвимости/эксплоит: Improper environment sanitization in
rtld - Local privilege escalation
Уровень опасности: критический
Возможные последствия: повышение привилегий, отказ в обслуживании.
Дополнительные условия: проведение атаки требует наличия шелл доступа
Закрытие уязвимости:
#cd /usr/src/libexec/rtld-elf
#ee rtld.c
находим участок
if (!trust) {
unsetenv(LD_ "PRELOAD");
unsetenv(LD_ "LIBMAP");
unsetenv(LD_ "LIBRARY_PATH");
unsetenv(LD_ "LIBMAP_DISABLE");
unsetenv(LD_ "DEBUG");
и меняем его на
if (!trust) {
// unsetenv(LD_ "PRELOAD");
// unsetenv(LD_ "LIBMAP");
// unsetenv(LD_ "LIBRARY_PATH");
// unsetenv(LD_ "LIBMAP_DISABLE");
// unsetenv(LD_ "DEBUG");
if (unsetenv(LD_ "PRELOAD") || unsetenv(LD_ "LIBMAP") ||
unsetenv(LD_ "LIBRARY_PATH") || unsetenv(LD_ "LIBMAP_DISABLE") ||
unsetenv(LD_ "DEBUG") || unsetenv(LD_ "ELF_HINTS_PATH")) {
_rtld_error("environment corrupt; aborting");
die();
}
}
Делаем:
#make
#make install
Подробно:
http://security.freebsd.org/advisories/FreeBSD-SA-09:16.rtld.asc
Раскрытие серверного пути (Full Path Disclosure) - /var/www/mad/mad
Уровень опасности: низкий
Возможные последствия: способствует проведению ряда атак
Рекомендуемые меры: Отключение показа ошибок через php.ini/.htaccess
(php_flag display_errors off)
Уязвимая версия Invision Power Board ( <= 3.0.4 LFI and <=3.0.4 and
<=2.3.6 SQL Injection )
Уровень опасности: высокий
Возможные последствия: получение доступа к БД пользователей, выполнение
произвольных команд,
заливка шелла.
Подробнее/исправление уязвимости:
http://www.exploit-db.com/exploits/10304/
LFI уязвимость (Multiple local file-include vulnerabilities)
Уровень опасности - высокий.
Описание: Из-за отсутствия проверки значений для переменной "system"
возможно чтение
содержимого произвольных файлов:
Пример:
http://site2.com/netcat/modules/netshop/post.php?system=../../../../.htaccess%00
Закрытие уязвимости: установка Web Application Firewall, фильтрация
входящих значений для
переменной "system"