Нажмите кнопку и перейдите в iframe другого браузера.

Я проводил исследование, чтобы узнать, возможно ли получить доступ к элементам iframe домена corss и сделать что-то вроде нажатия кнопки или заполнения формы в этом iframe.

Я наткнулся на несколько вещей и хотел бы получить опытный взгляд, если это возможно:

1) с помощью window.postmessage 2) с помощью easyXDM 3) любым другим доступным методом.


person user2129794    schedule 07.08.2013    source источник
comment
Междоменное взаимодействие iframe не должно работать в качестве защиты клиента для пользователя: Пример: страница вредоносного ПО может создать iframe и загрузить важную страницу, после чего она может попытаться получить его содержимое/пароль.   -  person Adrian Maire    schedule 07.08.2013


Ответы (1)


Википедия: Политика единого источника: важная концепция безопасности для ряда языков программирования на стороне браузера, таких как JavaScript. Политика разрешает сценариям, работающим на страницах одного и того же сайта (комбинация схемы, имени хоста и номера порта), обращаться к методам и свойствам друг друга без особых ограничений, но запрещает доступ к большинству методов и свойств на страницах разных сайтов.

Википедия: Совместное использование ресурсов из разных источников (CORS) — это механизм, который позволяет Javascript на веб-странице отправлять XMLHttpRequests в другой домен, а не в домен, из которого исходит Javascript.

Чтобы разрешить запросы cors, сервер общего содержимого должен разрешать их через комбинацию заголовков:

Client (www.example.com)    : ORIGIN: www.example.com
Server (not www.example.com): Access-Control-Allow-Origin: www.example.com

Например, вы можете загрузить содержимое другой страницы с помощью ajax и вставить его в iframe вашей страницы, что позволит вам манипулировать им без ограничений.

Это ограничение представляет собой защиту на стороне клиента, что означает, что вы можете создать свой собственный браузер, в котором оно не реализовано.

person Adrian Maire    schedule 07.08.2013
comment
В вашей точке You may for example, load the content of the other page by ajax and insert it into an iframe of your page, that allow you to manipulate it without restrictions. Это не будет хранить значения сеанса, как если бы пользователь вошел в систему по URL-адресу, которого может не быть в iframe ?? - person user2129794; 07.08.2013
comment
Да, это позволяет вам манипулировать им без ограничений, но другая страница должна согласиться на то, чтобы ваша страница манипулировала ею. Таким образом, вы не можете, например, использовать его для взлома веб-страницы банка. - person Adrian Maire; 07.08.2013
comment
@AdrianMaire так мало людей работали с easyXDM. Не могли бы вы взглянуть на stackoverflow.com /questions/27203172/ пожалуйста? - person VB_; 30.11.2014