Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2007-01-19 20:56:43

hcs
Гость

Уязвимость в Приватных сообщениях.

Обнаружена уязвимость  в службе приватных сообщений, позволяющая злоумышленнику отправить приватное сообщение любому пользователю форума от имени любого другого пользователя.
Всем администраторам,  имеющим на форуме мод приватных сообщений рекомендуется добавить в файл message_send.php после строки ~36 содержащей:

if (isset($_POST['form_sent']))
{

следующую строку, если её там нет:

    confirm_referrer('message_send.php');

#2 2007-01-19 23:00:42

Slavik
Гость

Re: Уязвимость в Приватных сообщениях.

Не ну так совсем неинтересно, взять и на паблик 0day багу smile

P.S. Поздравляю с 1024 постом smile

#3 2007-01-20 06:23:33

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

Slavik пишет:

Не ну так совсем неинтересно, взять и на паблик 0day багу

Slavik я тебя не понял.

#4 2007-01-20 10:10:39

Slavik
Гость

Re: Уязвимость в Приватных сообщениях.

Я к тому что багу надо было юзать, а не писать о ней smile

#5 2007-01-20 10:30:30

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

Slavik
smile Ну мне смысла нет её юзать. А вообще служба личных сообщений ещё требует доработки, поскольку сообщения лежат на сервере открытым текстом.

#6 2007-01-20 10:55:39

Slavik
Гость

Re: Уязвимость в Приватных сообщениях.

hcs пишет:

сообщения лежат на сервере открытым текстом.

Хм... а в других движках?

Добавлено  01.20.2007 14:01:43:
Кстати, не скажешь где именно баг?
Вижу вот такой запрос:

        // "Send" message
        $db->query('INSERT INTO '.$db->prefix.'messages (owner, subject, message, sender, sender_id, sender_ip, smileys, showed, status, posted) VALUES(
            \''.$id.'\',
            \''.addslashes($subject).'\',
            \''.addslashes($message).'\',
            \''.addslashes($pun_user['username']).'\',
            \''.$pun_user['id'].'\',
            \''.get_remote_address().'\',
            \''.$smilies.'\',
            \'0\',
            \'0\',
            \''.time().'\'
        )') or error('Unable to send message', __FILE__, __LINE__, $db->error());

А $pun_user['username'] сложно изменить не из php.

#7 2007-01-24 07:31:42

FedKoFF
Гость

Re: Уязвимость в Приватных сообщениях.

hcs пишет:

открытым текстом

Вообщето да! Будучи админом форума и имея доступ к БД, можно по вечерам себе устраивать читку чужих ЛС smile
Всплывается вопрос, а действительно ли это надо убирать? tongue

#8 2007-01-24 08:31:06

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

FedKoFF пишет:

а действительно ли это надо убирать?

С точки зрения пользователей - да. Кому понравится что его личка может быть прочитана сторонними лицами?

#9 2007-01-24 10:09:50

Slavik
Гость

Re: Уязвимость в Приватных сообщениях.

На punres.org люди жалуются что не могут пароли юзеров смотреть, а тут какая-то личка smile

#10 2007-01-24 17:57:51

SDTux
Гость

Re: Уязвимость в Приватных сообщениях.

Slavik пишет:

а punres.org люди жалуются что не могут пароли юзеров смотреть

фигасе, времечко пришло neutral

#11 2007-01-26 18:53:23

FedKoFF
Гость

Re: Уязвимость в Приватных сообщениях.

А я XSS нашел smile два smile

Открыть message_popup.php
Найти:

        <p><?php echo $lang_pms['Popup new'],  $return['sender'], $lang_pms['Popup subj'], $return['subject'] ?><br><?php echo  $lang_pms['Popup send'],  format_time($return['posted']) ?></p>

Заменить на:

        <p><?php echo $lang_pms['Popup new'],  pun_htmlspecialchars($return['sender']), $lang_pms['Popup subj'], pun_htmlspecialchars($return['subject']) ?><br><?php echo  $lang_pms['Popup send'],  format_time($return['posted']) ?></p>

Канечно маловероятно, что злоумышленику удасться вызвать запустить скрипт из своего ника ($return['sender']), то малали.

Редактировался FedKoFF (2007-01-26 19:47:39)

#12 2007-01-26 20:47:29

SDTux
Гость

Re: Уязвимость в Приватных сообщениях.

FedKoFF, ИМХО, это перестраховка уже.

#13 2007-02-05 00:00:02

Enemy
Гость

Re: Уязвимость в Приватных сообщениях.

а как эту уязвимость использовать-то? как отправить ЛС не от своего имени?

З.Ы. я владелец форума, а не script kiddie какой-то smile

Просто в ПХП не рублю достаточно. Добавил рекомедованую строчку, но любопытсво берёт своё, что и от чего я защитил/исправил? В общих чертах хотя-бы.

#14 2007-02-05 05:19:05

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

Пользователя форума можно направить на специальным образом сформированную страницу с нулевым фреймом, вот в этом фрейме и можно отправить сообщение от этого пользователя.

#15 2007-02-05 07:44:57

TEXist
Гость

Re: Уязвимость в Приватных сообщениях.

Enemy
Имя твое не внушает доверия smile

#16 2007-02-09 00:24:09

Griffon
Гость

Re: Уязвимость в Приватных сообщениях.

hcs пишет:
confirm_referrer('message_send.php');

2 hcs
Не мог бы ты разъяснить, почему ты считаешь, что оно надо в личке и не надо допустим при отправке сообщений?
Себе поставил, просто уже нашёлся маньяк безопасности, который с отключённым реферером не мог отправить сообщение smile

#17 2007-02-09 05:19:51

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

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

#18 2007-02-09 10:21:32

Griffon
Гость

Re: Уязвимость в Приватных сообщениях.

На сколко я понял ничего ужасного не случилось или я что-то пропустил? smile

Редактировался Griffon (2007-02-09 10:23:18)

#19 2007-02-09 11:43:47

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

Судя по тому что в корзине не появлось твое сообщение с призывом переслать тебе веб-мани - ничего не получилось )
Но если я в эксплойт впишу твой ник, то такое сообщение появится, не зависимо от твоей воли.
Попробуй эту ссылку снова wink

#20 2007-02-09 18:06:55

Griffon
Гость

Re: Уязвимость в Приватных сообщениях.

Попробовал, изменений если чесно не вижу smile)

#21 2007-02-09 18:17:46

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

Ну и хорошо smile

#22 2007-02-09 18:22:22

Griffon
Гость

Re: Уязвимость в Приватных сообщениях.

Собственно, хотелось бы услышать ваш вердикт, нужен ли confirm_referrer в личке или всё таки нет?

#23 2007-02-09 20:11:00

hcs
Гость

Re: Уязвимость в Приватных сообщениях.

Рекомендуется.

#24 2007-02-09 20:35:17

Griffon
Гость

Re: Уязвимость в Приватных сообщениях.

Понятно smile

#25 2007-04-15 16:00:03

pr1zrak
Гость

Re: Уязвимость в Приватных сообщениях.

а в какой директори находятся сообщения чтобы их просмотреть?

Подвал доски

Под управлением FluxBB. Хостинг Hostens