Slide 1

Slide 1 text

Web Messaging のセキュリティ -DOM Invader を添えて- @okuken3 2021.09.30 第11回 初心者のためのセキュリティ勉強会

Slide 2

Slide 2 text

0. 自己紹介 1. Web Messaging とは 2. Web Messaging のセキュリティ 3. デモ 4. 参考サイト Agenda

Slide 3

Slide 3 text

NO IMAGE Kenichi Okuno  Twitter: @okuken3 略歴  1. SIerで色々  2. 業務パッケージベンダで開発  3. Web事業会社でプロダクトセキュリティチーム立上げ  4. 情報セキュリティサービス会社でWeb脆弱性診断 最近の出来事  ・家庭内RPA 1ネタ運用開始  ・ISTE v0.4.0 近日リリース予定

Slide 4

Slide 4 text

1. Web Messaging とは  ✓ HTML5で導入されたAPI  ✓ 異なるOriginのWindowオブジェクト間で    メッセージのやりとりができる

Slide 5

Slide 5 text

1. Web Messaging とは iframe https://a.example.com https://a.example.com https://b.example.com message message

Slide 6

Slide 6 text

2. Web Messaging のセキュリティ  ✓ 想定内の相手(Origin)とだけやりとりする    ・送信時:送信先のOriginを指定する    ・受信時:送信元のOriginを確認する  ✓ 悪意を前提としてメッセージを扱う    ・相手のサイトが攻撃者の手に落ちている可能性も考慮する

Slide 7

Slide 7 text

3. デモ ・Cross-document messaging https://github.com/okuken/sectest_html5/tree/main/01_cross-document_messaging ・Channel messaging https://github.com/okuken/sectest_html5/tree/main/02_channel_messaging

Slide 8

Slide 8 text

(補足) DOM Invader の機能 DOM-based XSS 関連  ・カナリアによるシンク/ソース検出  ・カナリアの自動挿入  ・イベントの自動発火  ・リダイレクト防止 Web Messaging 関連  ・postMessage のキャプチャ  ・脆弱性スキャン  ・カナリアの自動挿入  ・Messageのリピート送信  ・Messageの自動生成/送信  ・Originのスプーフィング DOM Invader 本日はこちらを使用

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

4. 参考サイト https://html.spec.whatwg.org/multipage/web-messaging.html https://developer.mozilla.org/ja/docs/Web/API/Window/postMessage https://developer.mozilla.org/ja/docs/Web/API/MessageChannel https://cheatsheetseries.owasp.org/cheatsheets/HTML5_Security_Cheat_Sheet.html https://owasp.org/www-project-web-security-testing-guide/stable/4- Web_Application_Security_Testing/11-Client-side_Testing/11-Testing_Web_Messaging

Slide 12

Slide 12 text

No content