оявление постороннего кода в новостях DLE

ProLiant
На сайте с 07.12.2005
Offline
249
#11

Сеодня, смотрю, целая эпидемия внедрения webmasters-yandex.ru на ДЛЕ сайты... :) Никто не смотрел, как попали коды на сайты? Из-за дыры, ссылку на которую вначале давали?

Эта зараза после удаления, кстати, снова появляется... Заплатка с баг фикса ДЛЕ 10 уже стоит...

Выбирай оптимальный хостинг (http://cp.inferno.name/aff.php?aff=2053) для стабильного заработка на файловом трафе (https://espays.com/s.php?f=38). ;)
djinn11
На сайте с 16.05.2010
Offline
52
#12
ProLiant:
Сеодня, смотрю, целая эпидемия внедрения webmasters-yandex.ru на ДЛЕ сайты... :) Никто не смотрел, как попали коды на сайты? Из-за дыры, ссылку на которую вначале давали?
Эта зараза после удаления, кстати, снова появляется... Заплатка с баг фикса ДЛЕ 10 уже стоит...

Надо кеш чистить... менять пароли базы данных и администратора...

SIQWELL - Сервера, VDS, Хостинг во Франции, Люксембурге. Администрирование и IT обслуживание (https://siqwell.pw/aff.php?aff=003) Лучшая партнерка для download трафика! (http://loadpays.com/s.php?f=11008)
R
На сайте с 20.03.2013
Offline
20
#13

Простите за возможно глупый вопрос. Но как можно попасть в базу данных, ведь в большинстве случаев сервер Mysql - localhost?

djinn11
На сайте с 16.05.2010
Offline
52
#14
reso:
Простите за возможно глупый вопрос. Но как можно попасть в базу данных, ведь в большинстве случаев сервер Mysql - localhost?

В админ панели сайта на DLE есть пункт - Управление базой данных, заходите туда и нажимаете на кнопку - Сохранить базу данных, после этого в корне сайта в папке - backup появляется файл с расширением - .sql, это бэкап вашей базы.

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

Данные по базе в /engine/data/dbconfig.php...

R
На сайте с 20.03.2013
Offline
20
#15

Чтобы внести изминения в базу которая на localhost, скрипту необходимо физически быть на сервере. Это разве что прямой доступ через PhpMyAdmin.

ProLiant
На сайте с 07.12.2005
Offline
249
#16
reso:
Чтобы внести изминения в базу которая на localhost, скрипту необходимо физически быть на сервере. Это разве что прямой доступ через PhpMyAdmin.

А он и есть на сервере. У меня, например, валялся в uploads/posts/2012-08/rss.js

A
На сайте с 25.03.2012
Offline
59
#17

Как писали выше, я слил свою базу, открыл notepad'ом, а потом обычный поиск и замена на пустое место, учтите код со временем меняется вредоносный (я нашел у себя три варианта, отличаются несущественно, но для поиска и замены нужно полное совпадение), так что их может быть несколько вариантов, в обед как профиксил по ссылки что дали во втором посте, почистил, сменил пароли на все и вся, вроде не появляется нечего такого...

BrightGuy
На сайте с 03.10.2010
Offline
179
#18

Если кому пригодится описал все подробно в своем блоге: Баг фикс DLE 8.5-10.0

Не посчитайте за рекламу, просто структурировал всю информацию по данному случаю.

-= Сайты на заказ | Правки, обновление, работы по DLE =- (/ru/forum/791118) Skype: rus.shevchuk (skype:rus.shevchuk?chat) | Telegram: @ruslansh (tg://resolve?domain=ruslansh) | ICQ: 606535768 | info@ruslan-shevchuk.com
ProLiant
На сайте с 07.12.2005
Offline
249
#19

BrightGuy, Спасибо, конечно. Но не все там так просто. На своем опыте, вчера на одном из сайтов все так и сделали. Вычистили базу, сменили все пароли, поставили заплатку в /engine/classes/min/index.php, прогнали айболитом (ничего, кстати, не нашлось). В engine/cache/system/ никаких подобных файлов не появлялось. Сегодня снова появилась эта гадость.. Значит еще есть дыра.

П.с. Вычистил на нескольких сайтах, все процедуры аналогичные, появилась снова (пока) на одном. Сайты на ДЛЕ 9.8 и 10.

Gooodd
На сайте с 02.07.2008
Offline
103
#20

Код скрипта для чистки зараженной базы данных.

Размещаете на сайте код в файле .php с любым названием, запускаете и все.

Рекомендую предварительно сделать бекап базы данных.

<?php

if(isset($_GET['blank'])) die();
error_reporting(0);
set_time_limit(0);
function stripslashes_array($array) {
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}
if(get_magic_quotes_gpc()) $_POST = stripslashes_array($_POST);

session_start ();
define ( 'DATALIFEENGINE', true );
$member_id = FALSE;
$is_logged = FALSE;
define('ROOT_DIR', dirname( __FILE__ ));
define('ENGINE_DIR', ROOT_DIR.'/engine');

require_once ROOT_DIR.'/engine/init.php';
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Доктор DLE</title>
<style type="text/css">
body, td, th {
color: #333;
font-family: Arial;
font-size: 14px;
}
</style>
</head>
<body>
<?php
if(isset($_POST['submit'])) {
echo '<div id="result">';
$posts = $db->query("SELECT `id`, `full_story`, `short_story` FROM `".PREFIX."_post`");
while($post = $db->get_row($posts)) {
$post['full_story'] = preg_replace('/(<object.*<\/object>)/Usi', '', $post['full_story']);
$post['short_story'] = preg_replace('/(<object.*<\/object>)/Usi', '', $post['short_story']);
$sql = 'UPDATE `'.PREFIX.'_post` SET `full_story`="'.mysql_escape_string($post['full_story']).'", `short_story`="'.mysql_escape_string($post['short_story']).'" WHERE `id`='.$post['id'];
$db->query($sql);
}
echo 'Готово';
echo '</div>';
}
?>
<form action="" method="post">
<input type="submit" name="submit" value="Начать" />
</form>

</body>
</html>
Если ты хочешь, что бы у тебя было всё хорошо. Положи под подушку шоколад и на утро у тебя будет всё в шоколаде!!!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий