Межсайтовые скриптовые атаки и та же политика происхождения - PullRequest
6 голосов
/ 10 августа 2011

Я знаком с постоянным и непостоянным XSS .Я также знаю о Политика такого же происхождения , которая запрещает / ограничивает запросы, исходящие с одной страницы веб-сайтов, на другие серверы веб-сайтов.Это заставило меня подумать, что одна и та же политика источника может остановить, по крайней мере, непостоянный тип XSS-атак (потому что при постоянном типе атаки источник вредоносного кода будет таким же, как и украденная конфиденциальная информация).Правильно ли мое понимание?Можно ли использовать SOP для остановки / уменьшения этих атак?

РЕДАКТИРОВАТЬ: Хорошо, я путал между вызовом методов между двумя сценариями на стороне браузера и вызовом методов, таких как HTTP POST на другом веб-сайте.Спасибо за ответ jakber.

Теперь у меня есть еще один вопрос, сможет ли SOP предотвратить Подделка межсайтовых запросов ?В приведенном в википедии примере рассказывается о том, как Боб получил доступ к тегу вредоносного изображения, созданному Мэллори на форуме чата.Однако, согласно правилу SOP, вредоносный скрипт не должен иметь доступ к банковскому cookie.Я что-то здесь упускаю?

Ответы [ 2 ]

8 голосов
/ 10 августа 2011

Обычно нет.

Непостоянная или отраженная атака XSS использует ввод, который возвращается в виде содержимого страницы без надлежащей очистки, без ее сохранения. В обоих случаях внедренный скрипт будет происходить из эксплуатируемого домена.

Например, если вы делаете это в PHP: echo $_GET['param'] и отправляете ссылку на страницу кому-то, содержащему ?param=<script>alert('got you!');</script> это непостоянная атака XSS, и политика того же происхождения не имеет к этому никакого отношения.

Одинаковое происхождение означает, что вы не можете напрямую внедрять скрипты или изменять DOM в других доменах: поэтому для начала вам нужно найти уязвимость XSS.

0 голосов
/ 28 марта 2016

SOP обычно не может предотвратить XSS или CSRF.

Для XSS ответ jakber уже дает хорошее объяснение. Я просто хочу добавить, что причина называть эту уязвимость «межсайтовой» в том, что злоумышленник может внедрить код (например, <script src="...">) в целевую страницу, которая загружает вредоносный JavaScript-код с другого веб-сайта, который обычно контролируется злоумышленником. SOP не запрещает загрузку Javascript с другого веб-сайта, поскольку это нарушит работу Интернета.

Для CSRF SOP не может предотвратить это в большинстве случаев, поскольку SOP не запрещает веб-сайту A отправлять запросы GET и POST на веб-сайт B.

...