Уязвимости в WR-Forum 1.8M

Discussion in 'Веб-уязвимости' started by otmorozok428, 24 May 2008.

  1. otmorozok428

    otmorozok428 Banned

    Joined:
    19 Oct 2007
    Messages:
    127
    Likes Received:
    88
    Reputations:
    17
    Представляю отчёт об уязвимостях, найденных мною в 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охранить изменения".

    Всё - можем размещать сообщения от имени другого пользователя.

    *******
     
    #1 otmorozok428, 24 May 2008
    Last edited: 24 May 2008
    1 person likes this.
  2. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    ТС, зачем сохранять хтмлю себе на винт, искать строчки, менять их, сохранять хтмлю, снова открывать страницу? Сразу бы давал Http-пакеты, которые необходимо передавать серверу
     
  3. Liar

    Liar Active Member

    Joined:
    17 May 2007
    Messages:
    191
    Likes Received:
    205
    Reputations:
    20
    Тоже сейчас наткнулся на данный форум,
    пока расскрытие пути :

    в поле поискв вводим : hjk'

    получаем:
    Сегодня: 28.11.2008 - 10:00:33
     
  4. last_root

    last_root Elder - Старейшина

    Joined:
    24 Jun 2008
    Messages:
    255
    Likes Received:
    68
    Reputations:
    0
    есть возможность постить сообщения от любого пользователя просто подменив ник в куках, которые форум сохраняет у вас на машине. пароль меняь не требуется.
    ЗЫ: я не археолог, просто в поиске гугль кинул ссылку на ачатовскую тему- решил поднять =)
     
  5. Dellok

    Dellok New Member

    Joined:
    1 Apr 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    не работает. выдает ошибку
     
  6. Terminolog

    Terminolog New Member

    Joined:
    15 May 2010
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Вы бы еще через 5 лет попробовали эту уязвимость.
     
    1 person likes this.