нулификация форумов

Тема в разделе "Статьи и Co", создана пользователем Schtirliz, 6 апр 2006.

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

    Schtirliz Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    77
    Симпатии:
    168
    *************************************************
    Убираем "звонилки" из Invision Power Board v2.1.5
    *************************************************

    Автор: Terabyte (http://www.xss.ru)


    **********
    Вступление
    **********

    В этой статье я хочу рассказать об одно из этапов нуления движков, а именно удаление "звонилок". Звонилка это та часть движка, которая сообщает их автору адрес сайта, где установлен его движек. Авторы скриптов это делают для того, чтобы выявлять незаконное использование их платных движков. "Звонилка" может из себя представлять отдельную функцию, которая обращается на сайт автора движка к определенному скрипту, который записывает адрес вашего сайта или загрузки картинок (или обычных страничек в iframe). Некоторые может спросят, как автор определит адрес вашего сайта, если его скрипт загрузил картинку с его сайта? Очень просто, через referrer! В качестве исследуемого движка мы взяли Invision Power Board v2.1.x (но данное руководство должно помочь вам, находить "звонилки" не только в IPB других версий, но и в совершенное других движках). Сразу хочу сделать оговорку, что мы ищем "звонилки" методом - "в лоб", т.е. вся наша работа будет сводиться к поиску файлов, в которых имеется упоминание об офсайте движка. Некоторые авторы могут скрывать подобные вещи шифрованием домена офсайта (например, примитивным base64).

    Теперь хочу сказать пару слов о самом движке IPB. С версии 2.0 он стал платным и бесплатно с офсайта можно слить лишь зазенденные (Zend) файлы с ограничениями на использование. Для нашей работы нам понадобятся уже открытые (не зашифрованные) сорцы. Откуда вы их возьмете? Можете купить законно; попросить у друга, который купил себе этот двиг; скардить; украсть с хоста, где установлена лицензионная версия и т.п. Лично я использовал для нуления свой лицензионный двиг, купленный законно. Зачем спросите вы? Все очень просто, в лицензии говорится, что двиг нельзя использовать на нескольких доменах одновременно, в то время как в админке (офсайта) с версии 2.1 можно сгенерить сколько угодно лицензий для разных доменов. Ну и вот, чтобы использовать лицензионную версию (например, с анлимным сроком) на нескольких доменах, юзать оперативный выход апдейтов и мучить тех. поддержку, мы можем просто удалить "звонилки" из движка.


    ********
    Поехали!
    ********

    Для работы нам понадобится программа Text Replacer (http://www.web-hack.ru/download/download.php?go=56). Вообще-то для этого вам подойдет любая программа этого класса (Replacer), но мне нравится именно эта TR (с радостью приму ваши предложения по другим альтернативам). Далее устанавливаем на локалхосте движек и натравливаем на него TR. Первым делом задаем для поиска маску: "www.invision". Как в последствии стало известно из изучения сорцов, в открытом виде IPB хранит следующее домены, которые мы должны будем вырезать:

    invisionpower.com
    invisionboard.com
    invisiongallery.com (не обязателен для удаления, но желательно. Имеется только в gallery.php)

    Честно говоря, мы можем сразу сделать замену этих доменов например, на www.xss.ru и заливать двиг на хост, но если вы хотите разобрать что и как работает + сделать более лучшую зачистку, то читайте дальше.

    Первым делом надо удалить эти домены из PHP-комментариев, которые находятся почти в каждом файле и мешают нам лучше ориентироваться в сорцах. Делаем замену каждой из следующих строк на "|":

    | Licence Info: http://www.invisionboard.com/?license
    | Licence Info: http://www.invisionpower.com
    | http://www.invisionboard.com/?license
    | Web: http://www.invisionboard.com
    | Web: http://www.invisionpower.com
    | http://www.invisionpower.com/dynamic/
    | http://www.invisionpower.com
    | Web: http://www.invisiongallery.com

    Заменяем на "//":
    // http://www.invisionpower.com
    // http://www.invisionboard.com

    Заменяем на "" (пусто:(
    @invisionpower.com
    @invisionboard.com
    @invisiongallery.com


    Далее можем заменить домен invisionboard.com во всех файлах ошибки 403 (index.html) например, на xss.ru:
    <a href="http://www.invisionboard.com/">Invision Power Board</a>
    на
    <a href="http://www.xss.ru">www.xss.ru</a>


    Теперь задаем для поиска каждый домен, открываем все найденне файлы в текстовом редакторе и далее уже в нем делаем поиск по файлу с данным доменом. В зависимости от того, какое функциональное значение имеет кусок кода мы делаем соответствующие действия:

    *) удаляем функцию вызова "звонилки"
    *) немного исправляем адрес офдомена. Например, в копирайтах, т.к. если у вас лицензионный двиг, то копирайты лучше не менять, а просто изменить в них домен www.invisionpower.com например, на www..invisionpower..com =)
    *) заменяем домен, на любой другой (желательно ваш)

    Начнем с домена invisionpower.com, в поиске нашло 11 файлов. Первым делом советую открыть cp_skin_index.php и найти в нем следующие функции:

    function update_img
    function acp_licensed
    function acp_unlicensed
    function acp_ips_news

    В них найти конструкцию вида:
    $IPBHTML .= <<<EOF
    [HTML-код]
    EOF;
    И вырезать [HTML-код].

    Копирайты для домена invisionpower.com (в которых мы просто модифицируем адрес) находятся в:

    skin_printpage.php
    lofiversion/index.php ($copyright)
    cp_skin_global.php (можно удалить копирайт)
    sources/classes/class_display.php ($copyright) <- основной копирайт
    ipb_templates.xml

    Копирайты для домена invisionboard.com:

    cp_skin_global.php
    sources/classes/class_display.php ($copyright) <- основной копирайт
    ipb_templates.xml


    Остальные же "звонилки", такие как:
    $this->ipsclass->admin->show_inframe("http://www.invisiongallery.com/?why");
    можем заменить на:
    $this->ipsclass->admin->show_inframe("http://www.xss.ru");

    или:
    $response = trim( @implode ('', @file( "http://www.invisionpower.com/customer/ipb/copy/?k=".urlencode($acc_number) ) ) );
    на:
    $response = trim( @implode ('', @file( "http://www.xss.ru" ) ) );


    После окончания всех работ вы можете сделать контрольный поиск по маске "www.invision" и удалить остатки кода, которые вы пропустили.

    **********
    Заключение
    **********

    Я надеюсь эта статья вам помогла не только убрать "звонилки" из IPB, но и дала начальные знания для нуления других движков.


    =====[ Terabyte | http://www.web-hack.ru | 2006.04.01 ]=====
     
    mleonid нравится это.
  2. Schtirliz

    Schtirliz Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    77
    Симпатии:
    168
    2nosferatu хотел почитать статью про битрих.как ты занулил.думаю напишеш..
     
  3. Nosferatu

    Nosferatu Прохожие

    ненапишу. немогу выделить достаточно времени. :(
    может быть.. как нибуть......
     
  4. Schtirliz

    Schtirliz Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    77
    Симпатии:
    168
    ну ты постарайся, просто кроме меня наверное пол мира планеты хочет прочитать и готовы перевести на свои языки....
     
  5. artik

    artik Прохожие

    присоединяюсь к просьбе написать пояснение! :)))
     
  6. Nosferatu

    Nosferatu Прохожие

    Да нет никакого описания!
    есть неделя времени по пару часов вечером сидения перед монитором в поиске ссылок на битрикс.ру, и еще пару доменов;
    поиск и удаление всего кода что относится к созданию, проверке или отправки на сайт авторов скрипта лицензионного номера системы;
    удаление всяких проверок и ограничений на время работы сайта, удаление кода, отключающего сайт при отсутствии номера лицензии, или при истечении определенного времени;
    ну и удаление системы апдейтов...
    что, мне писать "найдите в файле индекс.пхп на строчке 93
    HTML:
    <img src="http://bitrix.sru/script/check.php?id=7274981645&site=nulls.ws" weight="0" heught ="0">
    и удалите" !????
    бред.
     
  7. Zeratul

    Zeratul Создатель

    Administrator
    Регистр.:
    17 мар 2006
    Сообщения:
    1.322
    Симпатии:
    3.855
    да бред..
    я смотрел битрикс в исходнике...
    стучалок там дофига.. да и всего остального тоже...

    мой совет - юзайте программы для автозамены кодап :)
     
  8. difour

    difour Прохожие

    незя забывать о простой вещице как base64
     
  9. Vampir

    Vampir Писатель

    Регистр.:
    27 мар 2006
    Сообщения:
    4
    Симпатии:
    0
    да уж, помню как нулил эти тысячи файлов.... описывать не стоит. уменьшился двиг заметно по размеру :)
     
  10. YaVad

    YaVad Прохожие

    давай. будет ваще супер.!!!!!!!!!
     
Статус темы:
Закрыта.