Content-Length: 266601 | pFad | http://www.slideshare.net/ockeghem/xssreintroduction
XSS再入門 | PPTXSS再入門
- 2. XSS脆弱なスクリプトの例
Copyright © 2013 HASH Consulting Corp. 2
<body><?php
echo $_GET['p'];
?></body>
値を「そのまま」表示
p=<script>alert(document.cookie)</script> で参照
- 11. Gmailを別タブに開いてHTMLを読み出す罠
Copyright © 2013 HASH Consulting Corp. 11
<html>
<head>
<script>
var newWin = window.open(
'https://mail.google.com/mail/u/0/#inbox', 'subwin');
setTimeout(function() {
alert(newWin.document.documentElement.innerHTML);
}, 3000);
</script>
</head>
<body>
こんにちは
</body>
</html>
新しいWindowを開
いて、そこにGmail
を表示させる
Gmailのロードを待っ
て(3秒想定)、Gmail
のHTMLを表示
- 16. 同一生成元ポリシー(Same-Origin Policy; SOP)とは
• オリジン = スキーム、ホスト、ポート番号の組み合わせ
• これらがすべて同じ場合、同一生成元(Same Origin)であると
いう
– http と https は異なるスキーム すなわち別オリジンとなる
• JavaScriptによるプロパティへのアクセス等は同一生成元に
対してのみ許可される
• XMLHttpRequestによるオブジェクトアクセスは、同一生成元
の場合無条件に許可される
– 異なる生成元に対するアクセスは、CORS(Cross-Origin
Resource Sharing)により可能
Copyright © 2013 HASH Consulting Corp. 16
- 17. SOPによる保護
Copyright © 2013 HASH Consulting Corp. 17
evil.example.com shop.example.jp
邪悪なサイト 正規サイト
個人情報
個人情報
ワナ 個人情報
ワナ 個人情報
XMLHttpRequest
JavaScript
JavaScript
Cookie
- 18. XSSによるJavaScripの注入
Copyright © 2013 HASH Consulting Corp. 18
evil.example.com shop.example.jp
邪悪なサイト 正規サイト(XSS脆弱)
ワナ 脆弱なページ
ワナ
JavaScript
JavaScript
脆弱なページ
JavaScript
JavaScript
①
④
③
②
- 23. 要素内容の場合
Copyright © 2013 HASH Consulting Corp. 23
<div>○○○○○○</div>
要素内容の終端マークは <
< を用いて要素内容を終わらせスクリプトを注入!
<div>○○○○○○<script>alert(1)</script></div>
対策は < を < にエスケープする
& → & エスケープも必須
通常は、 < > & をエスケープしますね
- 24. 属性値の場合
Copyright © 2013 HASH Consulting Corp. 24
<input value="○○○○○○">
属性値の終端マークは "
" を用いてスクリプトを注入!
<input value="○○○○○○"><script>alert(1)</script>">
対策は " を " にエスケープする
& → & エスケープも必須
通常は、 < > & " をエスケープしますね
- 25. JavaScriptの場合
Copyright © 2013 HASH Consulting Corp. 25
init("○○○○○○");
文字列リテラルの終端マークは "
" を用いてスクリプトを注入!
init("○○○○○○");alert(document.cookie);//");
対策は " を ¥" にエスケープする("ではない)
¥ → ¥¥ エスケープも必須
属性値に書く場合は上記をさらにHTMLエスケープする
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://www.slideshare.net/ockeghem/xssreintroduction
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy