Представляю отчёт об уязвимостях, найденных мною в WR-Forum 1.8 M. 1. Пассивные XSS Здесь lines[12] означает количество картинок в папке smile. По умолчанию их там 12 штук, но вообще количество может быть другим. Для реализации уязвимости нужно указать первое неинициализированное значение в массиве $lines (по умолчанию 12), а опция register_globals на сервере должна быть установлена в On. Ещё 2. Махинации с репой. Имеется возможность выставления неадекватно большой или неадекватно маленькой репы, например, 1000000 или -1000000000 и т.д. Заходим по ссылке вида Открываем исходный код страницы, ищем строчки Заменяем на Сохраняем страницу на жесткий диск, затем открываем её оттуда, выбираем репутацию '1000000', жмём кнопку "Отправить". 3. Затирание произвольного юзера в базе, либо создание клона уже существующего юзера. Ошибка связана с отсутствием фильтрации в переменной $ok файла tools.php PHP: // проверка Логина/Старого пароля $lines=file("$datadir/usersdat.php"); $i=count($lines); do {$i--; $rdt=explode("|", $lines[$i]); if (strtolower($name)===strtolower($rdt[0]) & $oldpass===$rdt[1]) {$ok="$i";} // Ищем юзера логин/пароль else { if ($email===$rdt[3]) {$bademail="1"; } } // Вдруг у когото уже есть такой емайл? } while($i > "1"); if (isset($bademail)) {print "$back. Участник с емайлом <B>$email уже зарегистрирован</B> на форуме!</center>"; exit;} if (!isset($ok)) {setcookie("wrfcookies","",time()); print "$back Ваш новый логин /пароль / Емайл не совпадает НИ с одним из БД. <BR><BR> Смена электронного адреса <font color=red><B>Запрещена</B></font><BR><BR> <font color=red><B>Ошибка скрипта или попытка взлома - обратитесь к администратору!</B></font>"; exit;} $udt=explode("|",$lines[$ok]); $dayreg=$udt[4]; $kolvomsg=$udt[2]; $status=$udt[13]; ...................................................................................... Регистрируемся на форуме, заходим на страницу редактирования профиля по ссылке вида Открываем исходный код страницы, ищем строчки Заменяем их на а также добавляем строку , где ok - номер строчки в файле usersdat.php, куда будет записана информация о созданном юзере. Юзер, который уже находится в данной строчке - будет затёрт. Сохраняем страницу на жесткий диск, открываем её оттуда, идём в поле "Адрес e-mail: *" и указываем там новый e-mail, которого ещё нет в базе форума. Жмём кнопку "Cохранить изменения". Всё - можем размещать сообщения от имени другого пользователя. *******
ТС, зачем сохранять хтмлю себе на винт, искать строчки, менять их, сохранять хтмлю, снова открывать страницу? Сразу бы давал Http-пакеты, которые необходимо передавать серверу
Тоже сейчас наткнулся на данный форум, пока расскрытие пути : в поле поискв вводим : hjk' получаем: Сегодня: 28.11.2008 - 10:00:33
есть возможность постить сообщения от любого пользователя просто подменив ник в куках, которые форум сохраняет у вас на машине. пароль меняь не требуется. ЗЫ: я не археолог, просто в поиске гугль кинул ссылку на ачатовскую тему- решил поднять =)