• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

VIBER-ОРУЖИЕ

Дима22

Эксперт
Сообщения
596
Реакции
507
0 руб.
Не так давно стало известно об уязвимости в 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.
 
Сверху Снизу