Security Lab

Множественные уязвимости в CitrusDB

Дата публикации:17.02.2005
Дата изменения:17.10.2006
Всего просмотров:1226
Опасность:
Высокая
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Уязвимые версии: CitrusDB 0.3.6 и более ранние версии

Описание:
Уязвимости позволяют удаленному пользователю обойти авторизацию, получить доступ к важным данным других пользователей, произвести SQL-инъекцию, выполнить произвольный php сценарий.

1. Уязвимость существует в механизме проверки подлинности пользователя. Проверка подлинности выполняется на основе имени пользователя и идентификатора хеша (для всех пользователей идентификатором является строка ‘boogaadeeboo’), передаваемых с помощью файлов cookie. Имя пользователя и идентификатор хешируются с помощью md5 алгоритма. Зная login администратора (по умолчанию admin) удаленный пользователь может изменить свой файл cookie и получить административный доступ к CitrusDB. Пример:

curl -D - --cookie "id_hash=4b3b2c8666298ae9771e9b3d38c3f26e;
user_name=admin" http:///citrusdb/tools/index.php

2. Отсутствует проверка подлинности пользователей в сценариях /citrusdb/tools/importcc.php и ./citrusdb/tools/uploadcc.php. Удаленный авторизованный пользователь может загрузить произвольный cvs файл, содержащий некорректные данные кредитных карт, а также получит доступ к временным файлам, в которых хранятся данные о кредитных картах других пользователей. Также, удаленный пользователь может произвести SQL-инъекцию из-за отсутствия должной проверки в сценарии импорта данных в БД. Пример:

Загрузка cvs файла:

curl -D - --cookie "id_hash=2378c7b70e77d9c6737d697a46cbe34b;
user_name=testor" http://<target>/citrusdb/tools/uploadcc.php --form
userfile=@exploit.cvs --form Import=Import

Примечание: Файл cookie должен соответствовать файлу существующего пользователя.

Импорт файла в базу данных кредитных карт:

curl -D - --cookie "id_hash=2378c7b70e77d9c6737d697a46cbe34b;
user_name=testor"
" http://<target>/citrusdb/tools/index.php?load=importcc&submit=on"

3. Отсутствует проверка данных, полученных из cvs файлов перед внесением информации в БД. Удаленный пользователь может произвести SQL-инъекцию.

4. Для подключения внешних модулей используется сценарий /citrusdb/tools/index.php. Удаленный авторизованный пользователь может в качестве параметра переменной load в HTTP GET запросе указать произвольный php сценарий, сохраненный на локальном сервере, который будет выполнен с привилегиями web-сервера. Пример:

http:///citrusdb/tools/index.php?load=../../../../../../tmp/

URL производителя: http://www.citrusdb.org

Решение: Способов устранения уязвимости не существует в настоящее время.

Ссылки: Authentication bypass in CitrusDB
Upload Authorization bypass in CitrusDB
SQL-Injection in CitrusDB
Directory traversal in CitrusDB