VIBER-ОРУЖИЕ

Тема в разделе "Архив", создана пользователем Дима22, 21 апр 2017.

  1. Дима22

    Дима22

    Сообщения:
    671
    Баллы:
    18
    Не так давно стало известно об уязвимости в iMessage. Как обнаружил незави- симый исследователь Росс Маккиллоп (Ross McKillop), предварительный про- смотр URL раскрывает данные об IP-адресе пользователя, версии ОС и дру- гие данные об устройстве. Причина заключалась в том, что при построении превьюшки запросы отправлялись непосредственно с устройства. Таким об- разом, когда iMessage запрашивал данные о каком-либо сайте, то раскрывал адрес пользователя и сведения о его устройстве.

    Более корректная архитектура мессенджера предполагает предваритель- ное кеширование контента на своих серверах и дальнейшую загрузку уже от- туда, как это реализовано, например, в Facebook, Twitter и Skype. Давай раз- беремся, как строится preview по URL в Viber и какие последствия может иметь маленький недочет в проектировании ПО.

    Для начала просто отправим сообщение, содержащее корректный URL картинки, размещенной на нашем сервере, например http://host/img.jpg, и посмотрим логи.

    {sender_ip} "HEAD /img.jpg HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.6.0 Chrome/45.0.2454.101 Safari/537.36"

    {sender_ip} "GET /img.jpg HTTP/1.1" 200 45468 "-" "Dalvik/1.6.0 (Linux; U; Android 4.4.2; GT-N7100 Build/KOT49H)"

    {reciever_ip} "GET /img.jpg HTTP/1.1" 200 45468 "-" "Viber/6.5.3.266 CFNetwork/808.1.4 Darwin/16.1.0"

    Как видим, iMessage не был исключением, и Viber аналогично скомпромети- ровал IP-адрес получателя сообщения (reciever_ip). Но что будет, если под ви- дом картинки мы попробуем выполнить redirect получателя в произвольном направлении? Вернем код ответа сервера 301 и в HTTP-заголовках укажем поле Location: http://somehost.ru.

    {sender_ip} "HEAD /img.jpg HTTP/1.1" 302 0 "-" "Mozilla/5.0
    (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML,
    like Gecko) QtWebEngine/5.6.0 Chrome/45.0.2454.101 Safari/537.36"
    Лог отличается от предыдущего отсутствием GET-запросов от отправителя и получателя сообщения. С чем это может быть связано? Попробуем в ответ на HEAD вернуть настоящий заголовок картинки, а для GET выполнить перена- правление:

    {sender_ip} "HEAD /img.jpg HTTP/1.0" 200 - "-" "Mozilla/5.0
    (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML,
    like Gecko) QtWebEngine/5.6.0 Chrome/45.0.2454.101 Safari/537.36"
    {sender_ip} "GET /img.jpg HTTP/1.0" 302 - "-" "Dalvik/1.6.0
    (Linux; U; Android 4.4.2; GT-N7100 Build/KOT49H)"
    {reciever_ip} "GET /img.jpg HTTP/1.0" 302 - "-" "Viber/6.5.3.266
    CFNetwork/808.1.4 Darwin/16.1.0"
    На этот раз Viber успешно перенаправил обоих участников переписки — это говорит о том, что Viber выполняет верификацию картинки с помощью началь- ного HEAD-запроса.

    А теперь давай проведем эксперимент с cookie. Разместим на сервере простой скрипт для генерации картинки со значением из cookie, увеличивая его на единицу при каждом запросе:
    http://joxi.ru/l2ZRQebuwaxyW2 смотрите скрин
    В .htaccess добавим записи:
    http://joxi.ru/eAOYNDBSx75Kem

    Отправим два сообщения со ссылками на наш хост, например:

    http://somehost.ru/c_08.jpg
    и

    http://somehost.ru/c_09.jpg
    Как видно http://joxi.ru/a2XZGObS17Gkzr, от сообщения к сообщению Viber собирает и хранит выданные ему cookies.
  2. fbjrjrjr

    fbjrjrjr

    Сообщения:
    9
    Баллы:
    1
    уже не актуально

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

Top