Advertisement

More Related Content

Slideshows for you(19)

More from OWASP Kyiv(20)

Advertisement

Ihor Bliumental - Collision CORS

  1. Ihor Bliumental OWASP Kyiv Chapter Lead ihor.bliumental@owasp.org Unsafe Cross Origin Resource Sharing
  2. Same Origin Policy (SOP) • Origin: https://example.com:8433 • http://example.com:8443 • https://www.example.com:8443 • https://example.com:443 • https://www.example.org:8443
  3. Репозиторий и ссылки • https://goo.gl/63ZGwt
  4. Cross Origin Access • Запись. Обычно разрешена (ссылки, перенаправления, формы). • Встраивание. Обычно разрешено: • JS <script src="..."></script> • CSS <style rel="stylesheet" href="..."> (требуют верного Content-type) • Картинки и медиа <img>, <video>, <audio> • Плагины <embed>, <object>, <applet> • Шрифты @font-face • Фреймы <iframe>, <frame> • Чтение. Обычно не разрешено
  5. JSONP (XSSI) • JSON with padding, Cross site script include • X-Content-Type-Options: nosniff
  6. Flash and MS Silverlight • crossdomain.xml и clientaccesspolicy.xml • *, *.example.com
  7. Modern CORS Same Origin Policy для XMLHttpRequest Origin: https://site1.com Web-
 APP Server – site1.com Server – site2.com Browser https://site1.com XMLHttp
  8. Modern CORS • Запросы • Origin: (https?|ftp)://example.com|null • Access-Control-Request-Method: <method> • Access-Control-Request-Headers: <field-name> ... • Ответы • Access-Control-Allow-Origin: <origin> | * • Access-Control-Allow-Credentials: true • Access-Control-Allow-Methods: <method> ... • Access-Control-Allow-Headers: <field-name> .... • Access-Control-Expose-Headers: X-Custom-Header • Access-Control-Max-Age: <delta-seconds>
  9. WebSockets • Не проверяется Origin по-умолчанию
  10. postMessage • Проверка Origin на разработчике • Уязвимый сайт в <iframe> — защита X- Frame-Options • Уязвимый сайт в поп-апе (window.open) — предупреждения от браузера • Можно использовать расширения хрома — OWASP London, доклад Арсения Реутова (https://raz0r.name/) https://goo.gl/MGrhN9
  11. Спасибо за внимание
  12. «В обратную сторону» • Заголовок Access-Control-Allow-Origin: * позволяет злоумышленнику встраивать содержимое
Advertisement