Сайты, в ссылках которых используется атрибут target=”_blank”, подвергают пользователей риску фишинговых атак и утечке данных соответственно. Об уязвимости target=”_blank” известно уже два года, тем не менее она до сих пор присутствует на многих популярных ресурсах.
Когда пользователь жмет на ссылку, включающую target=”_blank”, браузер открывает новую вкладку. Эта вкладка на короткое время получает доступ к странице-источнику через объект window.opener. Таким образом, только что открытая вкладка может изменить window.opener.location, а именно – незаметно заменить предыдущую вкладку совсем другой страницей.
Например, если пользователь откроет ссылку (использующей атрибут target=”_blank”) в Facebook, мошенник может незаметно заменить страницу фейком, и уже в скором времени пользователь получит уведомление о необходимости авторизоваться вновь. Именно так учетные данные жертвы и попадают к злоумышленникам.
Разработчик Бен Хэлперн составил список популярных уязвимых к таким атакам сайтов. В их число вошли Instagram, Facebook и Twitter (если ссылки открываются в браузере Safari). Эксперт уведомил соответствующие компании, но на сегодня исправления внесены только в Instagram.
Разработчик также предложил свой метод решения проблемы. Заключается он в добавлении атрибута rel=”noopener” во все ссылки сайта. Так как браузер Mozilla Firefox поддерживает данный атрибут не полностью, вместо rel=”noopener” может применяться rel=”noopener noreferrer”.
Источник http://www.securitylab.ru/