- Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB - http://cmsart.ru -

WordPress шаблоны: уязвимости, безопасность и скрытые ссылки. Методы избавления. Часть 2.

Posted By Archi On 31.05.2012 @ 5:56 пп In Статьи Wordpress | No Comments

В этой статье мы рассмотрим второй способ встраивания скрытых ссылок в WordPress-шаблоны, — закодированные/шифрованные ссылки.

Обычно это «добро» располагается в файле footer.php вашей темы и выглядит примерно так:

<?php
    $_F=__FILE__;
    $_X='Pz48ZDR2IGNw+... И ещё куча символов';
    eval(base64_decode('JF9YPWJhc2U2NF... И ещё куча символов'));
?>


Причём не как здесь, а всё в 1 строчку.

Лечится очень просто. Помечаем «неизвестный» код простым комментарием в начале и в конце, например вот так:

<!-- кодировка -->
<?php
    $_F=__FILE__;
    $_X='Pz48ZDR2IGNw+... И ещё куча символов';
    eval(base64_decode('JF9YPWJhc2U2NF... И ещё куча символов'));
?>
<!-- /кодировка -->

Далее в окне браузера кликаём ПКМ/вызываем меню «Исходный код страницы». Смотрим где у нас начинается наш комментарий и где заканчивается. Это и есть наш зашифрованный участок кода, копируем его. Заменяем каракули в footer.php (место, где была шифровка) на скопированный код из окна браузера. Сохраняем изменения в UTF-8 без BOM.

А теперь о «подводных камешках». Не удаётся вызвать открыть «Исходный код страницы»? Нет доступа? Без паники, это всего лишь JS, отключаем его любыми известными способами. Код блокировки контекстного меню браузера на JavaScript (пример):

<script type="text/javascript">
var message="";
function clickIE() {
  if (document.all) {
     (message);return false;
  }
}
function clickNS(e) {
  if (document.layers||(document.getElementById&&!document.all)) {
    if (e.which==2||e.which==3) {(message);return false;}
  }
}
if (document.layers) {
  document.captureEvents(Event.MOUSEDOWN);
  document.onmousedown=clickNS;
}
else {
  document.onmouseup=clickNS;document.oncontextmenu=clickIE;
}
document.oncontextmenu=new Function("return false")
</script>

Как? Отключили JS, а вместо этого редирект в админку? Это тэг <noscript>. Просто вовремя остановите перенаправление, нажав клавишу Esc. Код переправления:

<noscript>
<meta content="0;URL=<?php bloginfo('url'); ?>/wp-admin/"
http-equiv="refresh" />
</noscript>

Как видите, избавиться от «излишков» не так уж сложно, как бы не старались «по ту сторону баррикад».

Источник:  sooource.net [1]


Article printed from Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB: http://cmsart.ru

URL to article: http://cmsart.ru/wordpress/wordpress-articles/wordpress-shablonyi-uyazvimosti-bezopasnost-i-2

URLs in this post:

[1] sooource.net: http://cmsart.ru/?goto=http%3A%2F%2Fwww.sooource.net

Copyright © 2012 Поддержка CMS | Документация, статьи по Joomla, Drupal, phpBB. All rights reserved.