1 февраля 2013 в 11:56

Фишинг с использованием данных из VK/Facebook

Буквально вчера опубликовали пост о фишинге в Gmail и в одном из комментариев @Chickey написал


Да я и сам с таким сталкивался:




Собственно первое, что я подумал, неужели API VK просто дописывает через JS свои блоки? Из этого блока вытаскиваются нужные данные и подставляются в форму фишинга? Значит… мы можем логировать всех пользователей, которые посетят наш сайт и которые есть в ВК?.. Бред (хотя, первое, что я подумал, неужели мой аккаунт увели?).

Сразу же проинспектировал подобные элементы, посмотрел, там кроссдоменный iframe. Через JS мы не можем получить данные фрейма, так как столкнемся с Same Origin Policy.

Пока размышлял, решил загрузить фишинговую страничку через ctrl + shift + N и в итоге получил не свою страничку, а кривую-косую форму авторизации в ВК. Значит, фишинг-страничка при помощи CSS просто рисует поверх свои блоки, которые частично перекрывают виджеты/формы авторизации ВКонтакте.

За несколько минут криво-косо накидал PoC фишинга:



Должно выглядеть примерно так:

ВКонтакте


Facebook

Собственно, что и требовалось доказать.
Так что не переживайте, если увидите данные своих аккаунтов на каком-нибудь баннере. Никакого доступа без Вашего разрешения к данным аккаунта нет, все это лишь CSS-трюк. Это не баг, это фича
Sergey Belov @BeLove
карма
239,7
рейтинг 0,0
Пользователь
Похожие публикации
Самое читаемое Разработка

Комментарии (44)

  • +3
    Со вконтактом не вышло (не показывает персональных данных). С фейсбуком — работает (показывает аватар и количество друзей).
    • 0
      Добавил скрины. Проверил PoC в хроме, опере, фф, вроде нигде ничего не едет (ессно, нужно быть авторизованным в соц. сетях).
      • +2
        Хром 24, Авторизован.

        Результат
        • 0
          Странно, тоже 24 хром (проверил и под линуксом. и под виндой).
          Какое разрешение? И это… FB?
          • 0
            Проверил консоль: все дело в прокси, который режет доступ к userapi.com/js/api/openapi.js?34, мотивируя это тем, что: Content categorization: «Malicious Sites».
      • 0
        Mac Chrome 24
        Едет серый прямоугольник



        Грустно иметь дело с зоопарком браузеров и платформ.
      • 0
        mac, chrome 24.0.1312.57
        • 0
          Да, проверял виджеты без ID (этот единственный)
          В общем, не вижу смысла нагнетать обстановку с ВК, раз они так «тонко» намекнули и просто заблокировали приложение (виджет нужно привязывать к приложению). Так что демонстрация с ВК отменяется (хотя, в комментах есть еще пример демонстрации с ВК).
    • +1
      Вот, сегодня наткнулся vidoser.org/blog/vk/funny/ :-))))
      • 0
        Спалили :) решил побаловаться, — было скучно на работе как никогда.
  • 0
    Каков, в итоге, правильный ответ на вопрос из статьи?

    Значит… мы можем логировать всех пользователей, которые посетят наш сайт и которые есть в ВК?
    • +1
      Сейчас добавлю.
      Мы (или кто-то другой) этого делать не можем. Так как по факту никакого доступа к данным не было и нет. А все выше — лишь CSS-трюк.
    • +2
      Каждый пользователь видит свою информацию, но об этом знает только его браузер — сервер доступа не имеет.
  • 0
    Ещё с месяц назад увидел этот трюк.
    Весьма элегантное решение на мой взгляд, если, конечно, конечный пользователь есть в соцсетях
  • +1
    А мне как-то пришло письмо на электронную почту от фотостраны, где было сказано что мой друг оставил там мне личное сообщение. Внутри письма была аватарка друга из вконтакте и взятые оттуда его имя и фамилия. Разумеется, он там не регистрировался.

    При переходе по ссылке из письма я увидел, что на мой e-mail уже заведен аккаунт, и от меня требуется только ввести дополнительные данные (нет, %USERNAME%, номера телефона они не просили!). Видимо, ребята таким образом пытаются поднять посещаемость проекта. «Гениальность» создателей очевидна:

    — взять email из спам-баз
    — пробить привязанный к адресу аккаунт соцсети
    — рандомно выбрать друга, вытащить аватарку
    — отправить письмо
    — PROFIT!
    • 0
      В своё время так и topface, и badoo раскручивались. Причём последние ещё рассылали через приложения всем твоим друзьями, что ты сам зарегистрировался и якобы туда их зовёшь.
  • +4
    Верните мои 300 рублей!
    • +4
      Вот вы шутите, а мы подобные сообщения получаем на суппорт Андроид-приложения
  • 0
    Метод красивый. Лекарство есть — контакту и фейсбуку надо прописать для всех страниц X-Frame-Options DENY и разрешить открытие во фрейме только для виджетов.
    • +3
      Ну так это виджеты и есть, предназначенные для открытия в iframe. Или я вас неправильно понял?
    • +2
      Так это и есть виджет авторизации, а поверх него div'ы с position:relative
    • +3
      Самое эффективное лекарство - выходить из аккаунта.
      image
      • 0
        Куда более эффективно (при наличии Chrome) поставить в настройках галочку «Блокировать данные и файлы cookie сторонних сайтов». Выходить из аккаунта не потребуется, но и куки вконтакта не отправятся на сторонние сайты — эффект тот же.
        Вот, правда, виджеты комментирования также работать не будут. Но для тех, кто ими не пользуется — хороший способ.
        • 0
          Но, тогда ещё остаётся «cookie hijacking». Ибо авторизация происходит по https, а вот куки никак не шифруются.
  • –11
    проблема проста — vk работают ламеры в безопасности неспособные поставить анти clickjacking X-FRAME-OPTIONS:sameorigin.
    • 0
      Так это, тут разве не API используется? Его-то никто не будет делать sameorigin'овым.
      • 0
        я говорю про m.vk.com
        эта проблему еще год назад была известна см демо

        homakov.blogspot.com/2012/06/saferweb-with-new-features-come-new.html
        у них есть фреймбрейкер, который нефига не решение проблемы

        вк щас не такой дырявый только из за кучи заплаток(они даже csrf токен иногда в гете передают лол). в тоже время сама архитектура чисто пхп-шная и кривая
    • +1
      сотрудники ВК сидящие на Хабре могут только молча ставить минусы за, может и немного агрессивную критику, и блокировать эти аппы, цирк :) предполагаю что мой комментарий тоже заминусуют?)
      • 0
        олрайт, если сотрудники и правда тут сидят почините хоть фреймбрейкер на whitelistовый
        это когда по умолчанию страница скрыта display:none и только если все ок она показывается
  • 0
    В предыдущем посте в комментариях обсуждалось, что почти всегда страницы фишеров палятся за счет кривого оформления текстов. И в вашем PoC отличное доказательство — FaceBook. :)
    • 0
      Поправил на сайте)
      Что правда, то правда.
  • +1
    Видел подобное в рекламных блоках «vk-message», но там фото берется из фрейма с виджетом комментариев.



    Вот фрейм: promo.vmirenas.ru/vk/comment.html
    • 0
      Доступ к фрейму обычно закрыт из скрипта.
  • +2
    Отсюда фото и имя можно брать: vk.com/widget_auth.php?app=3388928&width=300px
  • +4
    Тоже попробовал замутить vidoser.net/
  • 0
    Забанили приложение в ВК :0 Приду домой, переделаю.
    Единственное решение для вк/фб в данном случае вообще не выводить данных пользователей во фрейме.
  • +1
    Теперь каждый второй школьник получил готовый фейк под смс, зачем же вы так :)
  • 0
    решение спамеров — гениально, втыкал минут 5 когда первый раз увидел :)
  • 0
    Весьма сложно угадать точную позицию элементов в любом браузере, поэтому у меня (Хромиум 24 под Линуксом), например, вот такая печаль:
    Скрытый текст
    печаль

    Но вообще техника, конечно, интересная.
  • 0
    Есть простое решение этой проблеммы — логниться в контактик по https

    Или принудительно на стороне пользователя включить https для контактика и фейсбука и тп
    к примеру в лисе есть https everywhere плагин
    • +1
      Как HTTPS влияет на работу встраиваемых виджетов?
      Никак.
      • 0
        я счас авторизован в контактике и в лицокниге — и у меня в приведенном примере ничего не появляется — и с тех пор, как хожу по https вконтактик — все эти дурилки обламываются
        • +1
          Еще, скажите, все виджеты ВК отваливаются, при авторизации через https :)
          А пример не работал, так как приложение заблочили. Обновил пример — sergeybelove.ru/tools/socialnets-phishing/vk.php
        • 0
          проверьте: залогинтесь по https и наберите:
          vk.com/widget_auth.php?app=произвольный_номер&width=300px
          3388928- забанили из за наплыва посетителей.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.