NForum.RU: Убираем "звонилки" из Invision Power Board v2.1.5 - NForum.RU

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Убираем "звонилки" из Invision Power Board v2.1.5 статья о том, как убрать стучалки из 2.1

#1 Пользователь офлайн   OKC 

  • Завсегдатай
  • Иконка
  • Группа: Суперпользователи
  • Сообщений: 288
  • Регистрация: 14.10.2005

Отправлено Monday, 03.04.2006 - 03:23

*************************************************
Убираем "звонилки" из 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 (можно удалить копирайт)
class_display.php ($copyright) <- основной копирайт
ipb_templates.xml

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

cp_skin_global.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, но и дала начальные знания для нуления других движков.
0

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему