КОД-ОБМАНКА В ПОДАРОК К КОПИРАЙТУ

Сегодня редактируя одну тему для WordPress нашел в ней копирайт. Точнее, нашел его еще вчера, но после удаления выплывала ошибка, а разбираться в ней не было времени, поэтому я просто скрыл копирайт с помощью display: none;. Тем не менее, сегодня я решил с этим разобраться и посмотреть, что к чему. Я понял, что изобретательность кулхацкеров не знает предела, а все лишь потому, что им нужна одна-две жалких ссылочки.

wordpress

Так вот, о чем же я? В футере была вот такая реклама:

<a class="copyr" href="link" title="Темы для WordPress">Шаблоны WordPress</a>. При поддержке <a class="copyr" href="link" title="IT блог">site_name</a> и <a class="copyr" href="link" title="Блог автомобилиста">site_name</a>.

Естественно, там были ссылки, которые я в примере изменил на «link», а домены в анкорах на «site_name». Итак, после удаления этого кода, вроде как безобидного, на любой странице сайта появлялась надпись: «Fatal error: Call to undefined function do_action() in http://адрес_блога/wp-admin/admin.php on line 231».

Меня это сразу насторожило, ведь не могло обычное удаление копирайта повлечь за собой ошибку в файлах движка. На всякий случай я даже проверил. 231 строка в этом файле является последней и она пустая. Значит, искать нужно точно не здесь.

Если вы немного знакомы с WordPress, то знаете, что в теме каждого файла существует такой файл как functions.php. Все функции, которые вызываются данной темой, находятся там. У каждой темы этот файл свой, поэтому приходится внимательно смотреть на код. И вот что я там нашел:

function mike_thread() {
    $lua = '<a class="copyr" href="link" title="Темы для WordPress">Шаблоны WordPress</a>. При поддержке <a class="copyr" href="link" title="IT блог">site_name</a> и <a class="copyr" href="link" title="Блог автомобилиста">site_name</a>.';
    $fox = dirname(__FILE__).'/footer.php';
    $fd=fopen($fox,'r');
    $caf = fread($fd,filesize($fox));
    fclose($fd);
    if(strpos($caf,$lua)==0) {
        echo '<br/><b>Fatal error</b>:  Call to undefined function  do_action() in <b>' . admin_url('admin.php') . '</b> on line <b>231</b><br />';
        die;
    }
}

Естественно, код не был таким красивым, да и вообще он был вытянут в строчку и спрятан с помощью кучи пробелов подальше от людского взора. Однако, в редакторе тем WordPress не существует горизонтального скролла, поэтому он был прямо как на ладони.

Окей, удалил, получил ошибку: «Fatal error: Call to undefined function  mike_thread() in http://путь_до_темы_блога/header.php on line 28». Но с этим было просто. Заходим в header.php темы и удаляем вызов функции, то есть:

<?php mike_thread(); ?>

На этом все, тема чиста. В итоге скрипт действовал довольно интересно. Если вы удаляете или хоть как-то изменяете строчку с копирайтом, то вызванная функция выдавала вам ложную ошибку, дабы вы пошли копать код самого WordPress. Будьте бдительны, не поддавайтесь на провокации кулхацкеров.

P.S. Текст заметки не мой. Когда-то ссылался на эту статью, но сайт автора канул в лету… Чтобы материал не пропадал и текст дальше помогал людям, достал его из «архива».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.