Проблема с сайтом на DLE! Срочно!

Discussion in 'Песочница' started by projectm, 2 Dec 2009.

  1. projectm

    projectm New Member

    Joined:
    17 Nov 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Итак не знаю как с вчерашнего дня (02.12.09) когда вхожу на свой сайт в строке загружаться likuru1.ru (не заходите там полно вирусов)! Нашло в google что это сайт заразил уже 900 сайтов, у меня стоит движок dle помогите плз! Как убрать этот код или файл с вирусом, еще иногда когда выхожу с АК загружаться примерно 15 разных сайтов, хотя проверил на внешние ссылки и есть только 2 (которые ставил Я)
    Вот сайт - http://www.get-file.net/
     
  2. m0Hze

    m0Hze Elder - Старейшина

    Joined:
    1 Nov 2008
    Messages:
    266
    Likes Received:
    646
    Reputations:
    208
    Покажите код index.php, и всех файлов которые инклудяться в этом файле.
     
  3. projectm

    projectm New Member

    Joined:
    17 Nov 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php
    /*
    =====================================================
     DataLife Engine - by SoftNews Media Group 
    -----------------------------------------------------
     NULLED BY ZLoY (http://dle.in.ua/)
    -----------------------------------------------------
     http://dle-news.ru/
    -----------------------------------------------------
     Copyright (c) 2004,2009 SoftNews Media Group
    =====================================================
     Данный код защищен авторскими правами
    =====================================================
     Файл: index.php
    -----------------------------------------------------
     Назначение: Главная страница
    =====================================================
    <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
    try {
    var pageTracker = _gat._getTracker("UA-10253195-2");
    pageTracker._trackPageview();
    } catch(err) {}</script>
    */
    @session_start ();
    @
    ob_start ();
    @
    ob_implicit_flush ( 0 );

    @
    error_reporting ( E_ALL ^ E_NOTICE );
    @
    ini_set ( 'display_errors', true );
    @
    ini_set ( 'html_errors', false );
    @
    ini_set ( 'error_reporting', E_ALL ^ E_NOTICE );

    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';

    if (
    clean_url ( $_SERVER['HTTP_HOST'] ) != clean_url ( $config['http_home_url'] )) {
        
        
    $replace_url = array ();
        
    $replace_url[0] = clean_url ( $config['http_home_url'] );
        
    $replace_url[1] = clean_url ( $_SERVER['HTTP_HOST'] );

    } else
        
    $replace_url = false;

    $tpl->load_template ( 'main.tpl' );

    $tpl->set ( '{calendar}', $tpl->result['calendar'] );
    $tpl->set ( '{archives}', $tpl->result['archive'] );
    $tpl->set ( '{tags}', $tpl->result['tags_cloud'] );
    $tpl->set ( '{vote}', $tpl->result['vote'] );
    $tpl->set ( '{topnews}', $topnews );
    $tpl->set ( '{login}', $login_panel );
    $tpl->set ( '{info}', "<div id='dle-info'>" . $tpl->result['info'] . "</div>" );
    $tpl->set ( '{speedbar}', $tpl->result['speedbar'] );

    if (
    $config['allow_skin_change'] == "yes") $tpl->set ( '{changeskin}', ChangeSkin ( ROOT_DIR . '/templates', $config['skin'] ) );

    if (
    count ( $banners ) and $config['allow_banner']) {
        
        foreach ( 
    $banners as $name => $value ) {
            
    $tpl->copy_template = str_replace ( "{banner_" . $name . "}", $value, $tpl->copy_template );
        }

    }

    $tpl->set_block ( "'{banner_(.*?)}'si", "" );

    if (
    count ( $informers ) and $config['rss_informer']) {
        foreach ( 
    $informers as $name => $value ) {
            
    $tpl->copy_template = str_replace ( "{inform_" . $name . "}", $value, $tpl->copy_template );
        }
    }

    if (
    $allow_active_news and $config['allow_change_sort'] and ! $config['ajax']) {
        
        
    $tpl->set ( '[sort]', "" );
        
    $tpl->set ( '{sort}', news_sort ( $do ) );
        
    $tpl->set ( '[/sort]', "" );

    } else {
        
        
    $tpl->set_block ( "'\\[sort\\](.*?)\\[/sort\\]'si", "" );

    }

    if (
    strpos ( $tpl->copy_template, "[category=" ) !== false) {
        
    $tpl->copy_template = preg_replace ( "#\\[category=(.+?)\\](.*?)\\[/category\\]#ies", "check_category('\\1', '\\2', '{$category_id}')", $tpl->copy_template );
    }

    if (
    strpos ( $tpl->copy_template, "[not-category=" ) !== false) {
        
    $tpl->copy_template = preg_replace ( "#\\[not-category=(.+?)\\](.*?)\\[/not-category\\]#ies", "check_category('\\1', '\\2', '{$category_id}', false)", $tpl->copy_template );
    }

    if (
    strpos ( $tpl->copy_template, "{custom" ) !== false) {
        
    $tpl->copy_template = preg_replace ( "#\\{custom category=['\"](.+?)['\"] template=['\"](.+?)['\"] aviable=['\"](.+?)['\"] from=['\"](.+?)['\"] limit=['\"](.+?)['\"] cache=['\"](.+?)['\"]\\}#ies", "custom_print('\\1', '\\2', '\\3', '\\4', '\\5', '\\6', '{$dle_module}')", $tpl->copy_template );
    }

    $config['http_home_url'] = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
    $config['http_home_url'] = reset ( $config['http_home_url'] );

    if (! 
    $user_group[$member_id['user_group']]['allow_admin']) $config['admin_path'] = "";

    $ajax .= <<<HTML
    <script language="javascript" type="text/javascript">
    <!--
    var dle_root       = '
    {$config['http_home_url']}';
    var dle_admin      = '
    {$config['admin_path']}';
    var dle_login_hash = '
    {$dle_login_hash}';
    var dle_skin       = '
    {$config['skin']}';
    var dle_wysiwyg    = '
    {$config['allow_comments_wysiwyg']}';
    var quick_wysiwyg  = '
    {$config['allow_quick_wysiwyg']}';
    var menu_short     = '
    {$lang['menu_short']}';
    var menu_full      = '
    {$lang['menu_full']}';
    var menu_profile   = '
    {$lang['menu_profile']}';
    var menu_fnews     = '
    {$lang['menu_fnews']}';
    var menu_fcomments = '
    {$lang['menu_fcomments']}';
    var menu_send      = '
    {$lang['menu_send']}';
    var menu_uedit     = '
    {$lang['menu_uedit']}';
    var dle_req_field  = '
    {$lang['comm_req_f']}';
    var dle_del_agree  = '
    {$lang['news_delcom']}';
    var dle_del_news   = '
    {$lang['news_delnews']}';\n
    HTML;

    if (
    $user_group[$member_id['user_group']]['allow_all_edit']) {
        
        
    $ajax .= <<<HTML
    var allow_dle_delete_news   = true;\n
    HTML;

    } else {
        
        
    $ajax .= <<<HTML
    var allow_dle_delete_news   = false;\n
    HTML;

    }

    $ajax .= <<<HTML
    //-->
    </script>
    <script type="text/javascript" src="
    {$config['http_home_url']}engine/ajax/menu.js"></script>
    <script type="text/javascript" src="
    {$config['http_home_url']}engine/ajax/dle_ajax.js"></script>
    <div id="loading-layer" style="display:none;font-family: Verdana;font-size: 11px;width:200px;height:50px;background:#FFF;padding:10px;text-align:center;border:1px solid #000"><div style="font-weight:bold" id="loading-layer-text">
    {$lang['ajax_info']}</div><br /><img src="{$config['http_home_url']}engine/ajax/loading.gif"  border="0" alt="" /></div>
    <div id="busy_layer" style="visibility: hidden; display: block; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background-color: gray; opacity: 0.1; -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=10)'; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=10); "></div>
    <script type="text/javascript" src="
    {$config['http_home_url']}engine/ajax/js_edit.js"></script>
    HTML;

    if (
    $allow_comments_ajax AND ($config['allow_comments_wysiwyg'] == "yes" OR $config['allow_quick_wysiwyg'])) $ajax .= <<<HTML

    <script type="text/javascript" src="
    {$config['http_home_url']}engine/editor/jscripts/tiny_mce/tiny_mce.js"></script>

    HTML;

    if (
    strpos ( $tpl->result['content'], "hs.expand" ) !== false or strpos ( $tpl->copy_template, "hs.expand" ) !== false or $config['ajax'] or $pm_alert != "") {
        
        if (
    $config['thumb_dimming'] AND !$pm_alert) $dimming = "hs.dimmingOpacity = 0.60;"; else $dimming = "";

        if (
    $config['thumb_gallery'] AND !$pm_alert) {

        
    $gallery = "
        hs.align = 'center';
        hs.transitions = ['expand', 'crossfade'];
        hs.addSlideshow({
            interval: 4000,
            repeat: false,
            useControls: true,
            fixedControls: 'fit',
            overlayOptions: {
                opacity: .75,
                position: 'bottom center',
                hideOnMouseOut: true
            }
        });"
    ;

        } else {

            
    $gallery = "";

        }

        
        
    $ajax .= <<<HTML

    <script type="text/javascript" src="
    {$config['http_home_url']}engine/classes/highslide/highslide.js"></script>
    <script language="javascript">  
    <!--  
        hs.graphicsDir = '
    {$config['http_home_url']}engine/classes/highslide/graphics/';
        hs.outlineType = 'rounded-white';
        hs.numberOfImagesToPreload = 0;
        hs.showCredits = false;
        
    {$dimming}
        hs.lang = {
            loadingText :     '
    {$lang['loading']}',
            playTitle :       '
    {$lang['thumb_playtitle']}',
            pauseTitle:       '
    {$lang['thumb_pausetitle']}',
            previousTitle :   '
    {$lang['thumb_previoustitle']}',
            nextTitle :       '
    {$lang['thumb_nexttitle']}',
            moveTitle :       '
    {$lang['thumb_movetitle']}',
            closeTitle :      '
    {$lang['thumb_closetitle']}',
            fullExpandTitle : '
    {$lang['thumb_expandtitle']}',
            restoreTitle :    '
    {$lang['thumb_restore']}',
            focusTitle :      '
    {$lang['thumb_focustitle']}',
            loadingTitle :    '
    {$lang['thumb_cancel']}'
        };
        
    {$gallery}
    //-->
    </script>
    {$pm_alert}
    HTML;

    }

    $tpl->set ( '{AJAX}', $ajax );
    $tpl->set ( '{headers}', $metatags );
    include 
    ENGINE_DIR . '/modules/money/money.php';
    $tpl->set ( '{content}', "<div id='dle-content'>" . $tpl->result['content'] . "</div>" );

    $tpl->compile ( 'main' );
    $tpl->result['main'] = str_replace ( '{THEME}', $config['http_home_url'] . 'templates/' . $config['skin'], $tpl->result['main'] );
    if (
    $replace_url) $tpl->result['main'] = str_replace ( $replace_url[0]."/", $replace_url[1]."/", $tpl->result['main'] );

    echo 
    $tpl->result['main'];
    $tpl->global_clear ();
    $db->close ();

    echo 
    "\n<!-- DataLife Engine Copyright SoftNews Media Group (http://dle-news.ru) -->\r\n";

    GzipOut ();
    ?>
     
  4. Root-access

    Root-access Elder - Старейшина

    Joined:
    18 Jun 2008
    Messages:
    193
    Likes Received:
    195
    Reputations:
    91
    Code:
    $tpl->load_template ( 'main.tpl' );
    Вероятно в файле main.tpl прописан вредный код.
    Скорее всего он зашифрован в javascript - ищите подозрительные скрипты, например, где испльзуется метод string.fromcharcode
     
  5. projectm

    projectm New Member

    Joined:
    17 Nov 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    К сожалению в main.tpl ничего не нету, можно связаться по ICQ я вам скину main.tpl - 468029132
     
  6. Dark_cracker

    Dark_cracker Member

    Joined:
    29 May 2009
    Messages:
    73
    Likes Received:
    8
    Reputations:
    1
    возми свой шаблон и установи на локлку ) если не будет подгружаться сайт то ищи в файлах двига ) , в админке есть антивирусник посмотри через него может чё подозрительного покажет если нет, то удаляй двиг и ставь новый ) если не хочешь рыться...
     
  7. projectm

    projectm New Member

    Joined:
    17 Nov 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Не очень та хочется, что нету другого решения....Рылся везде! Ничего не нашол...
     
    #7 projectm, 6 Dec 2009
    Last edited: 6 Dec 2009
  8. projectm

    projectm New Member

    Joined:
    17 Nov 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Только что проверил ничего нету...
    Зашол на этот сайт - http://wepawet.iseclab.org/, проверил свой - http://www.get-file.net/, и там нашло код сайта lankru1, но я его найти не могу....
     
  9. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Это называется сбрутили админку, видимо у тебя банальное расположение /admin.php и ты его не менял, но слава богу что с админки можно править только Шаблоны, тоесть что тебе нужно сделать:
    1. Скачать с фтп действующий шаблон с папки templates, и проверить его на наличие любых JavaScript's или Ифреймов, думаю сможеш отличить код счетчика от абфусцированого JS. Если у тебя на сайте есть возможность выберать шаблоны пользователям, то прийдется перепроверить все шаблоны, либо выбрать один а остальные удалит с фтп. И незабудь сменить стандартный адрес к админке.
     
    _________________________
  10. projectm

    projectm New Member

    Joined:
    17 Nov 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Всем спасибо за помощь! Вырус убрал! =)