Что такое Tabnabbing?


Про это написано уже множество статей, например, эта и на OWASP.

Если вкратце — управление вкладкой браузера через дочернюю вкладку, открытую с target="_blank". Установив ссылку на внешний сайт с target="_blank", сайт будет иметь доступ к window.opener, через который можно сменить location у вкладки, с которой ведет ссылка. Все крупные сервисы, разрешающие вставлять ссылки, защищают пользователя от такого поведения через добавление rel=«noopener» или прокси-страницу.

Да даже когда такая была в Яндекс.Почте — ее признали и закрыли.

Но не в Турбо-страницах


Отправил репорт о том, что все ссылки, вставленные в турбо-страницу, уязвимы к tabnabbing — в контенте и в меню. Владелец сайта может вставить туда любые ссылки. И самое главное — турбо-страницы показываются преимущественно мобильным клиентам, которые в большей мере подвержены обману через эту уязвимость, т.к. часто не видят урл страницы из-за минималистичного интерфейса.

Пример уязвимой ссылки в меню:

image

На что получил такой ответ (спустя два месяца и просьбы ответить в твиттере):

image

И чем это плохо?


Хоть это поведение и описано в спецификации, оно крайне не очевидно для пользователя. Пользователь не ожидает, что вкладка, с которой он перешел, может измениться.

В лучшем случае турбо-страница сменится огромным порно-баннером, а в худшем — копией турбо-страницы с формой ввода логина-пароля, например. Огромный простор для фишинга!

Как и в остальном мире, я считаю, что это уязвимость.

А как думаете Вы?

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


  1. aamonster
    22.05.2019 22:10
    +6

    Ответил, что "опасен", хотя на самом деле с опасностью не сталкивался, просто навигация в opener без моего участия бесит.


    1. dartraiden
      22.05.2019 23:58
      +2

      Так это классика: пользователь кликает по ссылке на нашем сайте, открываем вторую вкладку в которой грузим запрошенное, а в исходной, тем временем, открываем рекламу (а с помощью location.replace() ещё и сделаем невозможной попытку нажать кнопку «Назад», мвахаха). Пользователь на автомате закрывает новую вкладку и остаётся один на один с рекламой. Показ засчитан.

      К сожалению, в Firefox обсуждение этой подлянки заглохло три года назад на этапе «пусть кто-нибудь внятно опишет, как с этим борется Chrome, чтобы мы могли порассуждать о том, как нам такое же реализовать».


  1. MTonly
    22.05.2019 22:18
    +1

    Включить в один вариант ответа два не связанных фактора — это пять.


    1. NikitchenkoSergey Автор
      22.05.2019 22:34

      Это была шуточка, простите. Для чистоты опроса убрал подпись.


  1. pyrk2142
    22.05.2019 23:24
    +8

    Я не знаю, что произошло в последнее время с Яндексом (возможно, это случилось за последний год), но у них очень сильно ухудшилась работа с безопасностью (и с Bug Bounty): скорость ответов упала почти до нуля, скорость обработки новых уязвимостей, вероятно, тоже (оцениваю исходя из скорости отправки ответа о дубликате), приватность больше особо не нужна. При этом брендировать левые сервисы, а при нахождении в них дыр говорить «Не, это партнеры, ничего не заплатим» — это святое. Ну и что, что там логотипы и домены Яндекса. И качество «зачистки» систем от уже засунутых векторов после исправления уязвимости хромает.


    1. Gar02
      23.05.2019 09:18

      У носорога очень плохое зрение. Но при его массе, это не его проблема.
      Слежка за пользователями — это их хлеб.


  1. achekalin
    23.05.2019 03:25

    Яндекс, по старой памяти, и не против быть на высоте, но коммерческие вопросы перебивают это похвальное движение. Слежка за пользователями, в которой Я столь часто подозревали, даёт, очевидно, выхлопа больше, чем затыкание возможности для слежки своими же руками.
    Тут, конечно, можно спорить про теории заговора, но небезызвестный домен в Я-зоне, набитый самыми разными техниками для отслеживания юзера, даже если тот меняет браузер или как-то ещё пытается показаться "другим посетителем", существует который год, и это, увы, наводит… При этом же нет даже тени сомнения в комментариях о том, что Я-сервисы (те же такси) ведут себя по разному для разных юзеров (что как бы не сильно законно, но отлично объясняется идеей защиты от фрода), и изменения учитывают полный портрет юзера (не понравился роботу на одном сервисе — будешь особенным образом обрабатываться на всех остальных). Реклама, учитывающая произносимые рядом с телефоном слова, тоже многим бросилась в глаза, но — это же совпадение, как такое можно только утверждать, правда?
    Это я к чему: вектор опасен для юзера, но "для большой компании на последнюю букву" может быть и наоборот.


  1. Dolios
    23.05.2019 11:29

    Неплохо бы еще написать, что такое турбо-страницы.


    1. NikitchenkoSergey Автор
      23.05.2019 11:38

      Яндекс их так агрессивно продвигает, и я даже не думал, что кто-то о них не слышал. В двух словах — отдача страничек с урезанными возможностями html с серверов Яндекса, чтобы ускорить показ контента на мобильном. Монетизируется через вставку рекламных блоков. tech.yandex.ru/turbo


  1. porutchik
    23.05.2019 15:04

    В Гугл писали? У них на поиске этот баг работает.


    1. NikitchenkoSergey Автор
      23.05.2019 15:18

      Не писал, можете написать ;)
      У них даже в лайтхаусе есть на это проверка: developers.google.com/web/tools/lighthouse/audits/noopener


    1. pyrk2142
      23.05.2019 15:38

      Кажется, что какое-то время у Гугла была позиция, что это не та угроза, с которой они будут бороться, так как «Единственный способ защиты от фишинга — проверка адреса текущей вкладки при вводе данных. Если пользователь не делает этого, то он неправ.»


  1. Bolotnikoff
    23.05.2019 15:18
    +3

    Меня не отпускает сильное чувство что Яндекс превращается во что-то очень нехорошее. Я даже начинаю подозревать что у них там менеджмент с Почты России пришел "бизнесу учить". Хороший браузер стал тормозным и перегруженным всякого рода глючными функционалом. При любой установки софта на винду получи в довесок браузер, менеджер браузеров, алисо в панель и тормоза… не знаю как у остальных на андроидах а в последней версии от самсунгов из-за браузера с олисо постоянно падала облолчка домашнего


    1. Bolotnikoff
      23.05.2019 15:20

      облолчка домашнего экрана. Некогда любимая мною компания теперь у меня в чёрном списке...


  1. LukaSafonov
    23.05.2019 16:14
    +1

    Хороший пример такой уязвимости.