Как расшифровать убрать ссылки из футера в шаблоне WordPress

Как расшифровать убрать ссылки из футера в шаблоне WordPress
Как расшифровать убрать ссылки из футера в шаблоне WordPress

Всем привет сегодня расскажу как убрать из footer или как его еще называют подвал, ссылки в шаблоне на WordPress.

Вчера возился с одним шаблончиком, который нашел на забугорном сайте. Я вообще с wordpress'ом познакомился недавно (наконец-то руки до него дошли), но уже успел пару раз услышать про закодированные футеры. Что они из себя представляют и зачем их кодируют - не знал, но на заметку взял - надо проверять footer.php в шаблонах (так.. на всякий случай). Вот вчера мне такой шаблон и попался, с закодированным подвалом.

Открыв файл footer.php я опытным глазом увидел текст в кодировке Base64. Текст закодированный в этой кодировке обычно заканчивается символами "==".

Вот код, если кому интересно:

<?php $_F=__FILE__;$_X='Pz48ZDR2IDRkPSJmMjJ0NXIiPgkNCgk8Z
DR2IGNsMXNzPSJmMjJ0NXJsNG5rcyI+IA0KCQkNCgkJRDVzNGduNWQgYnk6IDwx
IGhyNWY9Imh0dHA6Ly93d3cucDJ3NXJuNXRzaDJwLjF0LzFkMXB0NXIvZjFocno1
M2c1L2YycmQvIiB0NHRsNT0iRjJyZCI+RjJyZDwvMT4gOjogDQoJCQ0KCQkgSW4
gQzJsbDFiMnIxdDQybiB3NHRoIDwxIGhyNWY9Imh0dHA6Ly93d3cuZjRyNWMxcz
RuMnMuYzJtIiB0NHRsNT0iT25sNG41IEMxczRuMnMiPk9ubDRuNSBDMXM0bjJzPC
8xPiwgPDEgaHI1Zj0iaHR0cDovL3d3dy5jaDUxcC1jMXItNG5zM3IxbmM1LXQ0cHM
uYzJtIiB0NHRsNT0iQzFyIEluczNyMW5jNSI+QzFyIEluczNyMW5jNTwvMT4sIDwxI
GhyNWY9Imh0dHA6Ly93d3cuaDJtNTRtcHIyIiB0NHRsNT0iSDJtNSBJbXByMnZtN
W50Ij5IMm01IEltcHIydm01bnQ8LzE+DQoJCQ0KCTwvZDR2Pg0KPC9kNHY+DQo
8L2Q0dj4NCjwvYjJkeT4NCjwvaHRtbD4NCg0K';eval(base64_decode('JF9YP
WJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM
0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GS
UxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Следующий шаг: декодировать этот текст. Вводим в гугле "online base64 decode" и попадаем сюда: www.motobit.com/util/base64-decoder-encoder.asp .

Присмотревшись к коду, копируем первую часть зашифрованного подвала:

Pz48ZDR2IDRkPSJmMjJ0NXIiPgkNCgk8ZDR2IGNsMXNzPSJmMjJ0NXJsNG5rcyI+IA0KCQkNCgkJR
DVzNGduNWQgYnk6IDwxIGhyNWY9Imh0dHA6Ly93d3cucDJ3NXJuNXRzaDJwLjF0LzFkMXB0NX
IvZjFocno1M2c1L2YycmQvIiB0NHRsNT0iRjJyZCI+RjJyZDwvMT4gOjogDQoJCQ0KCQkgSW4gQ
zJsbDFiMnIxdDQybiB3NHRoIDwxIGhyNWY9Imh0dHA6Ly93d3cuZjRyNWMxczRuMnMuYzJtIiB0N
HRsNT0iT25sNG41IEMxczRuMnMiPk9ubDRuNSBDMXM0bjJzPC8xPiwgPDEgaHI1Zj0iaHR0cDovL3
d3dy5jaDUxcC1jMXItNG5zM3IxbmM1LXQ0cHMuYzJtIiB0NHRsNT0iQzFyIEluczNyMW5jNSI+QzF
yIEluczNyMW5jNTwvMT4sIDwxIGhyNWY9Imh0dHA6Ly93d3cuaDJtNTRtcHIyIiB0NHRsNT0iSDJ
tNSBJbXByMnZtNW50Ij5IMm01IEltcHIydm01bnQ8LzE+DQoJCQ0KCTwvZDR2Pg0KPC9kNHY+D
Qo8L2Q0dj4NCjwvYjJkeT4NCjwvaHRtbD4NCg0K

Тыкаем на сайте "decode the data from a Base64 string (base64 decoding)" - тоесть говорим что мы хотим из кодировки получить текст, а не наоборот. И жмем кнопку "Convert the Data source"

В результате видим следующее:

?><d4v 4d="f22t5r"> <d4v cl1ss="f22t5rl4nks"> D5s4gn5d by: <1 hr5f="http://www.p2w5rn5tsh2p.1t/1d1pt5r/f1hrz53g5/f2rd/" t4tl5="F2rd">F2rd</1> :: In C2ll1b2r1t42n w4th <1 hr5f="http://www.f4r5c1s4n2s.c2m" t4tl5="Onl4n5 C1s4n2s">Onl4n5 C1s4n2s</1>, <1 hr5f="http://www.ch51p-c1r-4ns3r1nc5-t4ps.c2m" t4tl5="C1r Ins3r1nc5">C1r Ins3r1nc5</1>, <1 hr5f="http://www.h2m54mpr2" t4tl5="H2m5 Impr2vm5nt">H2m5 Impr2vm5nt</1> </d4v> </d4v> </d4v> </b2dy> </html>

Посмотрев на эту абракадабру и на слова t4tl5 и d4v, можно заметить что заместо "4" должна быть буква "i". Ага, значит некоторые символы заменены.

Посмотрим-ка что в следующей части закодировано.
Копируем:
JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZS
csJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0Y
uIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw==

Декодируем так же, как я написал выше и получаем:

$_X=base64_decode($_X);$_X=strtr($_X,'123456aouie','aouie123456');$_R=ereg_replace
('__FILE__',"'".$_F."'",$_X);eval($_R);$_R=0;$_X=0;

Опять-таки, опытный глаз замечает то, что нам нужно: "strtr($_X,'123456aouie','aouie123456')".
Тут функция заменяет "1" на "а", "2" на "о", "3" на "u", "4" на "i", и так далее.
Запускаем блокнот, вставляем

?><d4v 4d="f22t5r"> <d4v cl1ss="f22t5rl4nks"> D5s4gn5d by: <1 hr5f="http://www.p2w5rn5tsh2p.1t/1d1pt5r/f1hrz53g5/f2rd/" t4tl5="F2rd">F2rd</1> :: In C2ll1b2r1t42n w4th <1 hr5f="http://www.f4r5c1s4n2s.c2m" t4tl5="Onl4n5 C1s4n2s">Onl4n5 C1s4n2s</1>, <1 hr5f="http://www.ch51p-c1r-4ns3r1nc5-t4ps.c2m" t4tl5="C1r Ins3r1nc5">C1r Ins3r1nc5</1>, <1 hr5f="http://www.h2m54mpr2" t4tl5="H2m5 Impr2vm5nt">H2m5 Impr2vm5nt</1> </d4v> </d4v> </d4v> </b2dy> </html> 

Жмем "Правка"->"Заменить". Говорим что "1" заменить на "а", ну а дальше, думаю Вы поняли.

В результате у нас получилось:
?><div id="footer"> <div class="footerlinks"> Designed by: <a href="http://www.powernetshop.at/adapter/fahrzeuge/ford/" title="Ford">Ford</a> :: In Collaboration with <a href="http://www.firecasinos.com" title="Online Casinos">Online Casinos</a>, <a href="http://www.cheap-car-insurance-tips.com" title="Car Insurance">Car Insurance</a>, <a href="http://www.homeimpro" title="Home Improvment">Home Improvment</a> </div> </div> </div> </body> </html> v> </bjdy> </html> 

Из полученного видно, что кроме пары лишних ссылок в зашифрованном подваленичего страшного не хранилось. Осталось только удалить лишние ссылки и добавить свои.

UPD: unphp.net - сервис по декодированию и деобфускации php-кода

Мне понравилась еще одна идея как легко избавляться от закодированного подвала. Бывают слишком "умные" темы, которые проверяют не изменялся ли файл подвала footer.php, и если вдруг подвал изменялся - будут каким-то образом ругаться. Но можно сделать финт ушами: создать свой файл footer2.php который и отображать в шаблоне, а footer.php не отображать. В результате и волки сыты и овцы целы =)

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

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