1

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

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

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

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

    confirm_referrer('message_send.php');

Сайт hcs

Поделиться

2

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

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

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

Сайт Slavik

Поделиться

3

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

Slavik пишет:

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

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

Сайт hcs

Поделиться

4

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

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

Сайт Slavik

Поделиться

5

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

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

Сайт hcs

Поделиться

6

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.

Сайт Slavik

Поделиться

7

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

hcs пишет:

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

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

Сайт FedKoFF

Поделиться

8

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

FedKoFF пишет:

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

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

Сайт hcs

Поделиться

9

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

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

Сайт Slavik

Поделиться

10

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

Slavik пишет:

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

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

"Мнение большинства не является критерием истины."

Сайт SDTux

Поделиться

11 (26.01.2007 08:47 отредактировано 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

Поделиться

12

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

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

"Мнение большинства не является критерием истины."

Сайт SDTux

Поделиться

13

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

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

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

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

Поделиться

14

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

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

Сайт hcs

Поделиться

15

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

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

No Money, No Time, No Girl, No Job - NO PROBLEM!

Поделиться

16

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

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

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

Поделиться

17

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

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

Сайт hcs

Поделиться

18 (08.02.2007 23:23 отредактировано Griffon)

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

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

Поделиться

19

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

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

Сайт hcs

Поделиться

20

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

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

Поделиться

21

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

Ну и хорошо smile

Сайт hcs

Поделиться

22

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

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

Поделиться

23

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

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

Сайт hcs

Поделиться

24

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

Понятно smile

Поделиться

25

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

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

Поделиться