PT-2011-21: Внедрение операторов SQL в OneOrZero AIMS

Уязвимое ПО

OneOrZero AIMS
Версия 2.7.0, возможно, более ранние

Ссылка на приложение:
http://www.oneorzero.com/

Рейтинг опасности

Уровень опасности: Высокий
Воздействие: Внедрение операторов SQL
Вектор атаки: Удаленный

CVSS v2:
Base Score: 7.5
Vector: (AV:N/AC:L/Au:N/C:P/I:P/A:P)

CVE: отсутствует

Описание программного обеспечения

Система OneOrZero AIMS представляет собой help desk приложение. Данное решение предоставляется бесплатно.

Описание уязвимости

Positive Research Center обнаружил множество уязвимостей внедрение операторов SQL в OneOrZero AIMS.
Приложение некорректно проверяет данные, поступившие от пользователя, которые в дальнейшем используются для генерации SQL-запросов. Злоумышленник получает возможность модифицировать запрос к SQL-серверу, отправляемый приложением. В результате злоумышленник получает возможность работать с SQL-сервером в обход логики приложения, получать произвольную информацию от SQL-сервера в рамках привилегий Web-приложения, в том числе, к критическим данным: логинам и паролям администраторов. В следствии этого возможно проведение атаки "Внедрение операторов SQL".

"Внедрение операторов SQL" – способ нападения на базу данных в обход межсетевой защиты. В этом методе, параметры, передаваемые к базе данных через Web приложения, изменяются таким образом, чтобы изменить выполняемый SQL запрос. Например, добавляя различные символы к параметру, можно выполнить дополнительный запрос совместно с первым.

Злоумышленник может получить доступ к данным, которые обычно недоступны, или получить данные конфигурации системы, которые могут использоваться для дальнейших нападений. Например, измененный запрос может возвратить хешированные пароли пользователей, которые в последствии могут быть расшифрованы методом перебора.

Пример: скрипт lib\ooz_access.php:

Строка 136:
$sql = "SELECT * FROM " . OOZ_SET_TABLE_PREFIX . "users WHERE user_name = '" . $cookieName . "'";
$userResult = DB::query($sql, DSN, OOZ_SET_SHOW_SQL);

Отсутствует фильтрация переменной $cookieName.

Решение

Cпециалисты нашей компании рекомендуют добавить фильтр данных поступающих от пользователя.

Статус уведомления

08.07.2011 - Производитель уведомлен
23.08.2011 - Детали уязвимости отправлены в CERT
19.10.2011 - Публикация уязвимости

Благодарности

Уязвимость обнаружил Юрий Гольцев (Исследовательcкий центр Positive Research компании Positive Technologies)

 

Ссылки

http://www.securitylab.ru/lab/PT-2011-21
http://www.kb.cert.org/vuls/id/800227

Список отчетов о ранее обнаруженных уязвимостях Positive Research:

http://www.ptsecurity.ru/advisory.asp
http://www.securitylab.ru/lab/

Уязвимости