- PVSM.RU - https://www.pvsm.ru -

Фреймы моего фрейма — мои фреймы

Вассал моего вассала мой вассал. Смутно помню что значит вассал но звучит круто, поэтому и перевожу свою статейку о неправильной работе с фреймами во всех браузерах. [1] (читать в оригинале чтобы получить больше лулзов от borat-english)

Суть такова, когда вы вставляете фрейм чужого сайта в свой сайт вы имеете доступ к внутренним фреймам этого фрейма. Реклама, крос доменные рисиверы, «Like» кнопки и прочее. А также к фреймом этих фреймов. Любая глубина.

Также вы можете менять их адреса. Выглядит это так:
image
Но это лишь дефейс. Проблема в том что фреймы используют и для cross domain interaction. Те сайты шлют в свои фреймы данные и получают их назад. Если заменить такой компонент системы то можно воровать данные от главного сайта посланные во фрейм.
Работает на read/write транспорта через window.name — это довольно старый трюк когда фрейм ставит себе name и редиректит назад на главный origin. А можно и читать postMessage инфорацию если владелец сайта установил получателя сообщения как '*'

Самая изюминка что это поведение считается нормой и работает в IE, Chrome, FF, Safari etc.
Вот приложение на синатре демонстрирующее векторы. [2]

Не доверяйте своим фреймам.

Автор: Chikey

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/html/27348

Ссылки в тексте:

[1] свою статейку о неправильной работе с фреймами во всех браузерах.: http://homakov.blogspot.com/2013/02/cross-origin-madness-or-your-frames-are.html

[2] Вот приложение на синатре демонстрирующее векторы.: https://gist.github.com/homakov/4974558

[3] Источник: http://habrahabr.ru/post/169759/