[bug] XSS в vBanonymizer

Тема в разделе "vBulletin", создана пользователем skif_s, 2 июл 2008.

Статус темы:
Закрыта.
  1. skif_s

    skif_s Постоялец

    Регистр.:
    19 дек 2006
    Сообщения:
    107
    Симпатии:
    27
    Странно, что до сих пор здесь никто не выложил! Будьте осторожны :p

    между прочим только что проверил нуллед — здесь дырка не закрыта.

    подробности тут
     
  2. Artem_007

    Artem_007 Постоялец

    Регистр.:
    13 апр 2008
    Сообщения:
    81
    Симпатии:
    13
    Наверно у некоторых нет доступа на вбсуппорт

    Наверное у многих установлен этот хак? (vBanonymizer) =) ссылка на вб.орг

    Код:
    [B]Description:[/B]
    This is a hack to "anonymize" all outgoing links from your forum to prevent the referrer information from being sent.
    недавно получил ЛС от одного из наших участников, с сообщением об уязвимости в этом хаке - XSS
    скачал последнюю, доступную версию с оффорума (Version: 2.7), покрутил его на локалке...
    результаты:
    помимо того, что там действительно есть "дырка", так он еще и не выполняет того, для чего предназначен (анонимность при переходе по ссылке с форума)
    т.е. реферер всетаки передается =)
    это не сложно проверить, (при установленном хаке) прописать линк у себя на форуме [noparse]http://www.site/forum/1.php[/noparse] и перейти по нему
    пример дырки:
    Код:
    _http://resurs.com/redirector.php?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgn0eDp8iDv7uTi5fDm5e0g4ufr7uzzIFhTUycpOzwvc2NyaXB0Pg0K
    временная (кривенькая, но рабочая) "заплатка", (пока на оффоруме не раздуплятся заделать) если не хотите удалять (бесполезный, на мой взгляд) хак:
    1. в файле redirector.php найти:
    ===
    PHP:
    $do $_GET['do'];
    заменить на:
    PHP:
    $do $_REQUEST['do'];
    найти:
    PHP:
    $url rawurldecode($vbulletin->input->clean($_GET['url'], TYPE_NOHTML));
    заменить на:
    PHP:
    $url base64_decode($vbulletin->input->clean($_REQUEST['url'], TYPE_NOHTML));
    найти:
    PHP:
    $displayurl '<a href="' $scriptpath '?do=nodelay&url=' str_replace('&amp;''&'$url) . '">' $url '</a>';
    заменить на:
    PHP:
    $displayurl '<a href="' str_replace('&amp;''&'$url) . '">' $url '</a>';
    ===
    2. в плагине Anonymizer Function этого продукта найти:
    PHP:
    $replace[] = '<a href="' $scriptpath rawurlencode($oldurl) . $nofollow;
    заменить на:
    PHP:
    $replace[] = '<a href="' $scriptpath base64_encode($oldurl) . $nofollow;
    ======
    ссылки в постах будут выглядеть примерно так:
    http://www.site/forum/1.php (в строке состояния видна реальная ссылка с редиректором)
    и вот эта хрень:
    Код:
    _http://resurs.com/redirector.php?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgn0eDp8iDv7uTi5fDm5e0g4ufr7uzzIFhTUycpOzwvc2NyaXB0Pg0K
    уже не будет работать
     
Статус темы:
Закрыта.