Presentation is loading. Please wait.

Presentation is loading. Please wait.

オリジンのはなし. NetAgent Shibuya.XSS Feb 28 2013 What is "Origin" ?  オリジン  Same-Origin Policy  クロスオリジンなんとか…  RFC6454 "The Web.

Similar presentations


Presentation on theme: "オリジンのはなし. NetAgent Shibuya.XSS Feb 28 2013 What is "Origin" ?  オリジン  Same-Origin Policy  クロスオリジンなんとか…  RFC6454 "The Web."— Presentation transcript:

1 オリジンのはなし

2

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/

16


Download ppt "オリジンのはなし. NetAgent Shibuya.XSS Feb 28 2013 What is "Origin" ?  オリジン  Same-Origin Policy  クロスオリジンなんとか…  RFC6454 "The Web."

Similar presentations


Ads by Google