Cross Origin Access
• Запись. Обычно разрешена (ссылки, перенаправления,
формы).
• Встраивание. Обычно разрешено:
• JS <script src="..."></script>
• CSS <style rel="stylesheet" href="..."> (требуют верного
Content-type)
• Картинки и медиа <img>, <video>, <audio>
• Плагины <embed>, <object>, <applet>
• Шрифты @font-face
• Фреймы <iframe>, <frame>
• Чтение. Обычно не разрешено
JSONP (XSSI)
• JSON with padding, Cross site script
include
• X-Content-Type-Options: nosniff
Flash and MS Silverlight
• crossdomain.xml и clientaccesspolicy.xml
• *, *.example.com
Modern CORS
Same Origin Policy для XMLHttpRequest
Origin: https://site1.com
Web-
APP
Server – site1.com
Server – site2.com
Browser
https://site1.com
XMLHttp
postMessage
• Проверка Origin на разработчике
• Уязвимый сайт в <iframe> — защита X-
Frame-Options
• Уязвимый сайт в поп-апе (window.open) —
предупреждения от браузера
• Можно использовать расширения хрома —
OWASP London, доклад Арсения Реутова
(https://raz0r.name/) https://goo.gl/MGrhN9