Download presentation
Presentation is loading. Please wait.
Published byけんじ いせき Modified 約 8 年前
1
オリジンのはなし
3
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 What is "Origin" ? オリジン Same-Origin Policy クロスオリジンなんとか… RFC6454 "The Web Origin Concept" スキーム + ホスト + ポート
4
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 オリジン = スキーム+ホスト+ポート スキーム + ホスト + ポート http://example.jp/ http://example.jp/foo/ http://example.jp:80/bar/ https://example.jp/ data:スキームは独立したオリジン file:スキームは実装依存
5
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 オリジン = スキーム+ホスト+ポート 正規化した表現方法 "http://example.jp" http://example.jp/ http://example.jp/foo http://example.jp:80/bar/ location.origin - WebKit系ブラウザ
6
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 オリジン = スキーム+ホスト+ポート オリジンに基づく制約 XMLHttpRequest Web Storage X-Frame-Options オリジン以外に基づく制約 Cookie HTTP Authentication
7
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 document.domain // parent.example.jp... document.domain = "example.jp"; alert( frames[0].document.body.innerHTML ); // child.example.jp document.domain = "example.jp" document.domainは書き換え可能 ポート、プロトコルは同一であること http://masatokinugawa.l0.cm/2013/02/twitter-vulnerability-2013.html
8
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 クロスオリジンでのアクセス Cross-Origin Resource Sharing http://www.w3.org/TR/cors/ クロスオリジンでリソースにアクセスす るルールを定義 XMLhttpRequest Level 2 ,,CSS... Firefox,Opera,Chrome,Safari
9
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 XHR with CORS // http://base.example.jp/ var xhr = new XMLHttpRequest(); xhr.open( "GET", "http://another.example.jp/", true ); xhr.onreadystatechange = function(){... }; xhr.send( null ); GET / HTTP/1.1 Host: another.example.jp User-Agent: Mozilla/5.0 (Windows NT 6.1)... Origin: http://base.example.jp HTTP/1.1 200 OK Date: Tue, 28 Feb 2013 12:34:56 GMT Access-Control-Allow-Origin: http://example.jp Content-Type: text/html; charset=utf-8...
10
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 XHR with CORS // http://base.example.jp/ var xhr = new XMLHttpRequest(); xhr.open( "GET", "http://another.example.jp/", true ); xhr.withCredentials = true; xhr.onreadystatechange = function(){... }; xhr.send( null ); GET / HTTP/1.1 Host: another.example.jp User-Agent: Mozilla/5.0 (Windows NT 6.1)... Cookie: sessionid=135A2387BC12EE0F Origin: http://base.example.jp HTTP/1.1 200 OK Date: Tue, 28 Feb 2013 12:34:56 GMT Access-Control-Allow-Origin: http://example.jp Content-Type: text/html; charset=utf-8...
11
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013,,CSS with CORS // http://base.example.jp/ <img src="http://another.example.jp/image.png" crossorigin="anonymous"> GET /image.png HTTP/1.1 Host: another.example.jp User-Agent: Mozilla/5.0 (Windows NT 6.1)... Origin: http://base.example.jp HTTP/1.1 200 OK Date: Tue, 28 Feb 2013 12:34:56 GMT Access-Control-Allow-Origin: http://example.jp Content-Type: image/png... Originがつき、Cookieは送信されない Canvas経由で読み取り可能になる
12
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013,,CSS with CORS // http://base.example.jp/ <img src="http://another.example.jp/image.png" crossorigin="use-credentials"> GET /image.png HTTP/1.1 Host: another.example.jp User-Agent: Mozilla/5.0 (Windows NT 6.1)... Cookie: sessionid=135A2387BC12EE0F Origin: http://base.example.jp HTTP/1.1 200 OK Date: Tue, 28 Feb 2013 12:34:56 GMT Access-Control-Allow-Origin: http://example.jp Content-Type: image/png... Canvas経由で読み取り可能になる
13
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 Access-Control-Allow-Origin Access-Control-Allow-Origin: * 誰からでも読み取り可能 機密情報を含むコンテンツの場合、罠ページ からも読み取られれてしまう! HTTP/1.1 200 OK Date: Tue, 28 Feb 2013 12:34:56 GMT Access-Control-Allow-Origin: * Content-Type: text/html...
14
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 まとめ origin = スキーム + ホスト + ポート 新しい機能はorigin baseなアクセス制御 CORS - SOPを超える統一的なルール Access-Control-Allow-Originは公開範囲 に気を付けて
15
NetAgent http://www.netagent.co.jp/ Shibuya.XSS Feb 28 2013 質問 hasegawa@utf-8.jp hasegawa@netagent.co.jp @hasegawayosuke http://utf-8.jp/
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.