Task 2

Task 2

@hexadec1mal

Опишите своими словами работу механизмов SOP и CORS? Также приведите примеры возможных атак при их отсутствии.

SOP - политика одного источника (Same Origin Policy). Декларирует браузеру запрещать доступ коду, исполняемым на стороне браузера (Flash player, JS, WASM), к DOM-ам, расположенным на этой странице, но принадлежащих разным доменам. В случае работы SOP-а мы сможем манипулировать через, скажем, JS только с теми DOM-ами, сорсы которого скачаны с того же домена на том же порту и с использованием такого же протокола.

Обход SOP:

  • XSS, так как позволит нам запускать на стороне клиента JS в нужном нам DOM-е.
  • Мисконфиг CORS.

В случае отсутствия SOP мы можем проводить абсолютно любые манипуляции со страницей, главное - получить возможность запустить скрипт. Подойдет фишинг с ссылкой, которая ведет на поднятый нами сайт.


CORS - политика совместного использования ресурсов несколькими источниками (Cross-Origin Resource Sharing). Позволяет указать те домены, для которых не будет действовать политика SOP.

Уязвимости CORS исходят из мисконфигурации. Где-то может быть слишком обширная звёздочка (asterisk, *), где-то - null, а некоторые сервисы могут генерировать CORS динамически в зависимости от ситуации, но с ошибками.


Как итог:

В случае отсутствия CORS нам важно наличие SOP. В случае мисконфигурации CORS нам не страшен SOP.