как виджеты вроде «http://sharethis.com/» делают то, что похоже на вызовы XSS
Вопрос
Каким образом инструменты, подобные этому, могут выполнять обратный вызов в стиле ajax на центральный сайт?в основном они дают вам тег ", который можно разместить на вашем сайте, где бы он ни находился. Таким образом, в этом виджете у вас есть возможность запросить отправку электронного письма для страницы, на которой вы сейчас находитесь. Я предполагаю, что это делает ajaxstyle перезвоните, чтобы поделиться этим, кто отправляет электронное письмо. Но как они могут сделать это без прокси на вашем сервере и без блокировки браузера как эксплойта XSS?
Мы будем благодарны за любые ответы по этому поводу, спасибо за вашу помощь.Я полагаю, работа с Flickr API вызовет те же проблемы?
Ссылка из заголовка: http://sharethis.com/
Решение
Они дают вам сценарий для включения на ваш сайт.Этот скрипт имеет полный доступ к DOM и вашим файлам cookie.Чтобы он перезвонил на их сайт, они используют технику под названием JSONP.Включенный вами сценарий добавляет еще один сценарий с параметрами в строку запроса.Затем сервер возвращает JSON (это просто JavaScript), и данные извлекаются.
Если вы создаете гибридные приложения, вы должны быть уверены, что эти виджеты не сделают ничего злонамеренного, например кражи ваших файлов cookie.В IE 8 будет улучшена поддержка безопасного XSS.
Другие советы
Для этого даже не нужно использовать JSON.
Вы можете получить код javascript из любого домена с помощью тега сценария, поэтому многие из этих виджетов просто создают узел сценария, а ответ имеет следующий формат:
родовое словоsomeFunction уже является существующей функцией в исходном источнике виджета и выгружает данные в вашу DOM.
Ответ заключается в том, что браузеры по какой-то причине блокируют XmlHttpRequests только для серверов, отличных от исходного.Вы можете использовать теги