Мобильные приложения могут следить за посещаемыми веб-сайтами
Primary tabs
Forums:
Мобильные приложения могут поднимать локальный сервер и отслеживать заходы на сайте в браузере, в том числе из-за того, что метрики крупных фирм или их баннерные сети могут быть на многих сайтах.
Так открытый сайт и шлет id на локальный порт запущенного приложения. Факт захода на сайт становится известным компании
https://habr.com/ru/articles/915732/
Хороший комментарий:
Ответ сложнее и интереснее, чем может показаться.
Во-первых, открывать голые TCP/UDP соединения браузер всё-таки не позволит (если только через расширения конкретного браузера).
Однако, http-запросы из JS куда угодно разрешены, НО! CORS не позволит прочитать ответ внутри JS, если в ответе нет явного заголовка Access-Control-Allow-Origin: XXX. Да, в wireshark очень чётко видны открывающиеся TCP-сессии, запросы от браузера и радостные ответы локальных сервисов. Тем не менее:
- остаётся возможность атаки по стороннему каналу (например, замеряем время запроса к http://127.0.0.1:5432 — косвенно понимаем, работает Postgres у пользователя локально или нет);
- банально, всё ещё можно отправить запросы вида PUT http://192.168.0.1/login?user=admin&pass... (зависит от API слушающих сервисов) — ответ нам вообще не важен, мы просто в лоб передаём в запросе нужную информацию слушающему сервису. Именно такой вектор обмена информацией рассматривается в статье.
Для меня лично стало неприятным сюрпризом, что
- даже в современных браузерах есть возможность напрямую из песочницы обращаться к локальной сети и выполнять такой жирным пласт запросов (пусть и чаще всего односторонних);
- и что CORS всего навсего блокирует ответы, но не запросы (что логично, но требует осознания).
ПРИМЕЧАНИЕ: на самом деле в данном случае, даже если бы CORS блокировал и сам запрос, приложению не составит труда как раз на своем локальном сервисе, разрешить ответ выставив "звездочку" или разрешив домен, с которого запрос прилетел
- Log in to post comments
- 34 reads