Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Hiroshi Tokumaru
88,940 views
XSS再入門
XSSの初心者向け説明です。初心者向けだけど、きっちり理解したい方向け…
Technology
◦
Read more
146
Save
Share
Embed
Embed presentation
1
/ 31
2
/ 31
Most read
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
Most read
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
Most read
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PDF
今さら聞けないXSS
by
Sota Sugiura
PPT
SQLインジェクション再考
by
Hiroshi Tokumaru
PDF
とある診断員と色々厄介な脆弱性達
by
zaki4649
PDF
Proxy War
by
zaki4649
PDF
とある診断員とSQLインジェクション
by
zaki4649
PPTX
[BurpSuiteJapan]Burp Suite実践編
by
Burp Suite Japan User Group
PPTX
徳丸本に載っていないWebアプリケーションセキュリティ
by
Hiroshi Tokumaru
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
今さら聞けないXSS
by
Sota Sugiura
SQLインジェクション再考
by
Hiroshi Tokumaru
とある診断員と色々厄介な脆弱性達
by
zaki4649
Proxy War
by
zaki4649
とある診断員とSQLインジェクション
by
zaki4649
[BurpSuiteJapan]Burp Suite実践編
by
Burp Suite Japan User Group
徳丸本に載っていないWebアプリケーションセキュリティ
by
Hiroshi Tokumaru
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
What's hot
PDF
katagaitai CTF勉強会 #5 Crypto
by
trmr
PDF
普通の人でもわかる Paxos
by
tyonekura
PDF
RSA暗号運用でやってはいけない n のこと #ssmjp
by
sonickun
PPTX
若手エンジニアのためのセキュリティ講座
by
Hiroshi Tokumaru
PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
by
Daichi Koike
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PDF
関数型プログラミングのデザインパターンひとめぐり
by
Kazuyuki TAKASE
PPTX
非同期処理の基礎
by
信之 岩永
PPTX
大規模分散システムの現在 -- Twitter
by
maruyama097
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
PDF
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
PDF
なぜ自社で脆弱性診断を行うべきなのか
by
Sen Ueno
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PPTX
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
PPTX
[BurpSuiteJapan]HTTP基礎入門
by
Burp Suite Japan User Group
PDF
WebSocket / WebRTCの技術紹介
by
Yasuhiro Mawarimichi
PPTX
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
by
abend_cve_9999_0001
katagaitai CTF勉強会 #5 Crypto
by
trmr
普通の人でもわかる Paxos
by
tyonekura
RSA暗号運用でやってはいけない n のこと #ssmjp
by
sonickun
若手エンジニアのためのセキュリティ講座
by
Hiroshi Tokumaru
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
by
Daichi Koike
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
関数型プログラミングのデザインパターンひとめぐり
by
Kazuyuki TAKASE
非同期処理の基礎
by
信之 岩永
大規模分散システムの現在 -- Twitter
by
maruyama097
マイクロサービス 4つの分割アプローチ
by
増田 亨
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
なぜ自社で脆弱性診断を行うべきなのか
by
Sen Ueno
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
[BurpSuiteJapan]HTTP基礎入門
by
Burp Suite Japan User Group
WebSocket / WebRTCの技術紹介
by
Yasuhiro Mawarimichi
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
by
abend_cve_9999_0001
Viewers also liked
PDF
CSPの話〜FxOSチューン☆〜
by
Yu Yagihashi
PDF
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
by
Kousuke Ebihara
PDF
CSP Lv.2の話
by
Yu Yagihashi
PDF
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
by
Recruit Lifestyle Co., Ltd.
PDF
Setとして活動しはじめた話
by
Recruit Lifestyle Co., Ltd.
PDF
Rlsにおけるプロダクト プロジェクトマネジメント
by
Recruit Lifestyle Co., Ltd.
CSPの話〜FxOSチューン☆〜
by
Yu Yagihashi
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
by
Kousuke Ebihara
CSP Lv.2の話
by
Yu Yagihashi
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
by
Recruit Lifestyle Co., Ltd.
Setとして活動しはじめた話
by
Recruit Lifestyle Co., Ltd.
Rlsにおけるプロダクト プロジェクトマネジメント
by
Recruit Lifestyle Co., Ltd.
Similar to XSS再入門
PDF
XSSについて調べたこと
by
iPride Co., Ltd.
PDF
(A7)cross site scripting
by
OWASP Nagoya
PPTX
ウェブセキュリティの常識
by
Hiroshi Tokumaru
PDF
体系的に学ばないXSSの話
by
Yutaka Maehira
ODP
ライブコーディングとデモで理解するWebセキュリティの基礎
by
Takahisa Kishiya
PPTX
安全なPHPアプリケーションの作り方2014
by
Hiroshi Tokumaru
PPTX
第9回勉強会 Webセキュリティー
by
hakoika-itwg
PPTX
Browser andsecurity2015
by
彰 村地
PDF
すぐできるWeb制作時のセキュリティTips
by
yoshinori matsumoto
PDF
徳丸本ができるまで
by
Hiroshi Tokumaru
PPTX
Webアプリケーション脆弱性体験ハンズオン
by
Yuichi Hattori
PDF
これからHTML5を書く人のためのセキュリティ - HTML5など勉強会
by
yoshinori matsumoto
PPT
セキュアプログラミング講座
by
minoru-ito
PPTX
HTML5 Web アプリケーションのセキュリティ
by
彰 村地
PPTX
春の脆弱性祭り 2017/06/13
by
dcubeio
PPT
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」
by
Hiromu Shioya
PDF
Blojsom におけるクロスサイトスクリプティングの脆弱性
by
JPCERT Coordination Center
PDF
XSSの傾向と対策
by
Yusuke Sangenya
PDF
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
by
Isao Takaesu
PDF
Webアプリ開発者のためのHTML5セキュリティ入門
by
Muneaki Nishimura
XSSについて調べたこと
by
iPride Co., Ltd.
(A7)cross site scripting
by
OWASP Nagoya
ウェブセキュリティの常識
by
Hiroshi Tokumaru
体系的に学ばないXSSの話
by
Yutaka Maehira
ライブコーディングとデモで理解するWebセキュリティの基礎
by
Takahisa Kishiya
安全なPHPアプリケーションの作り方2014
by
Hiroshi Tokumaru
第9回勉強会 Webセキュリティー
by
hakoika-itwg
Browser andsecurity2015
by
彰 村地
すぐできるWeb制作時のセキュリティTips
by
yoshinori matsumoto
徳丸本ができるまで
by
Hiroshi Tokumaru
Webアプリケーション脆弱性体験ハンズオン
by
Yuichi Hattori
これからHTML5を書く人のためのセキュリティ - HTML5など勉強会
by
yoshinori matsumoto
セキュアプログラミング講座
by
minoru-ito
HTML5 Web アプリケーションのセキュリティ
by
彰 村地
春の脆弱性祭り 2017/06/13
by
dcubeio
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」
by
Hiromu Shioya
Blojsom におけるクロスサイトスクリプティングの脆弱性
by
JPCERT Coordination Center
XSSの傾向と対策
by
Yusuke Sangenya
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
by
Isao Takaesu
Webアプリ開発者のためのHTML5セキュリティ入門
by
Muneaki Nishimura
More from Hiroshi Tokumaru
PPTX
ウェブセキュリティのありがちな誤解を解説する
by
Hiroshi Tokumaru
PPTX
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
by
Hiroshi Tokumaru
PPTX
徳丸本VMに脆弱なWordPressを導入する
by
Hiroshi Tokumaru
PPTX
introduction to unsafe deserialization part1
by
Hiroshi Tokumaru
PPTX
XXE、SSRF、安全でないデシリアライゼーション入門
by
Hiroshi Tokumaru
PPTX
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
by
Hiroshi Tokumaru
PPTX
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
by
Hiroshi Tokumaru
PPTX
Railsエンジニアのためのウェブセキュリティ入門
by
Hiroshi Tokumaru
PPTX
安全なWebアプリケーションの作り方2018
by
Hiroshi Tokumaru
PPTX
秀スクリプトの話
by
Hiroshi Tokumaru
PPTX
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
by
Hiroshi Tokumaru
PDF
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
by
Hiroshi Tokumaru
PDF
ウェブアプリケーションセキュリティ超入門
by
Hiroshi Tokumaru
PPTX
ウェブセキュリティの最近の話題早分かり
by
Hiroshi Tokumaru
PPTX
セキュリティの都市伝説を暴く
by
Hiroshi Tokumaru
PPTX
安全なPHPアプリケーションの作り方2016
by
Hiroshi Tokumaru
PPTX
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
by
Hiroshi Tokumaru
PPTX
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
by
Hiroshi Tokumaru
PPTX
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
by
Hiroshi Tokumaru
PPTX
セキュアコーディング方法論再構築の試み
by
Hiroshi Tokumaru
ウェブセキュリティのありがちな誤解を解説する
by
Hiroshi Tokumaru
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
by
Hiroshi Tokumaru
徳丸本VMに脆弱なWordPressを導入する
by
Hiroshi Tokumaru
introduction to unsafe deserialization part1
by
Hiroshi Tokumaru
XXE、SSRF、安全でないデシリアライゼーション入門
by
Hiroshi Tokumaru
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
by
Hiroshi Tokumaru
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
by
Hiroshi Tokumaru
Railsエンジニアのためのウェブセキュリティ入門
by
Hiroshi Tokumaru
安全なWebアプリケーションの作り方2018
by
Hiroshi Tokumaru
秀スクリプトの話
by
Hiroshi Tokumaru
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
by
Hiroshi Tokumaru
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
by
Hiroshi Tokumaru
ウェブアプリケーションセキュリティ超入門
by
Hiroshi Tokumaru
ウェブセキュリティの最近の話題早分かり
by
Hiroshi Tokumaru
セキュリティの都市伝説を暴く
by
Hiroshi Tokumaru
安全なPHPアプリケーションの作り方2016
by
Hiroshi Tokumaru
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
by
Hiroshi Tokumaru
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
by
Hiroshi Tokumaru
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
by
Hiroshi Tokumaru
セキュアコーディング方法論再構築の試み
by
Hiroshi Tokumaru
XSS再入門
1.
クロスサイトスクリプティング再入門 HASHコンサルティング株式会社 徳丸 浩 twitter id:
@ockeghem
2.
XSS脆弱なスクリプトの例 Copyright © 2013
HASH Consulting Corp. 2 <body><?php echo $_GET['p']; ?></body> 値を「そのまま」表示 p=<script>alert(document.cookie)</script> で参照
3.
なにか、問題でも? Copyright © 2013
HASH Consulting Corp. 3
4.
典型的なXSSサンプルに対する「素朴な疑問」 • クッキーの値がアラートで表示されても、特に危険性はないよ うな気がする • クッキーの値はブラウザのアドオンなどでも表示できるよね •
任意のJavaScriptが実行されると言っても、ホームページ作 れば任意のJavaScriptが書けるし、見た人のブラウザで実行 されるよね… Copyright © 2013 HASH Consulting Corp. 4
5.
そもそもの疑問:JavaScriptは危険か? • 実は、JavaScriptの実行自体は危険ではない • Webは、未知の(ひょっとすると悪意のある?)サイトを訪問し ても「悪いこと」が起きないように設計されている •
JavaScriptの「サンドボックス」による保護 – JavaScriptからローカルファイルにアクセスできない – JavaScriptからクリップボードの値にアクセスできない – ブラウザにはファイルアップロードの機能があるが、JavaScriptで 任意ファイルをアップロードはできない – JavaScriptからプリンタに印刷することはできない(印刷ダイアログ を表示することはできる) Copyright © 2013 HASH Consulting Corp. 5
6.
では、他のWebサイト上の「個人情報」 にはアクセスできないの? Copyright © 2013
HASH Consulting Corp. 6
7.
できない Copyright © 2013
HASH Consulting Corp. 7
8.
ここで、 「タブブラウザは安全なのか」問題 Copyright © 2013
HASH Consulting Corp. 8
9.
タブブラウザに秘密情報のある光景 Copyright © 2013
HASH Consulting Corp. 9 うっかり、罠の仕掛 けてあるページを開 いたら、Gmailの内 容を読み取られな いのか? ワナのサイト
10.
試してみよう! Copyright © 2013
HASH Consulting Corp. 10
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を表示
12.
別Windowのdocumentにアクセスできない… Copyright © 2013
HASH Consulting Corp. 12 Error: Permission denied to access property 'document'
13.
同じドメインだとdocumentにアクセスできる Copyright © 2013
HASH Consulting Corp. 13
14.
同じドメイン? Copyright © 2013
HASH Consulting Corp. 14
15.
正確にはドメインではなく ”オリジン” Copyright ©
2013 HASH Consulting Corp. 15
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 ① ④ ③ ②
19.
XSSにより注入されたJSはSOPの保護を回避する Copyright © 2013
HASH Consulting Corp. 19 evil.example.com shop.example.jp 邪悪なサイト 正規サイト 個人情報 ワナ ワナ 個人情報 XMLHttpRequest JavaScript JavaScript 個人情報 Cookie 同一オリジン なので、個人 情報等にア クセス可
20.
iframeを用いたワナのイメージ Copyright © 2013
HASH Consulting Corp. 20 マル秘激安お得情報!!! JavaScript 個人情報あり個人情報なし 正規サイトワナサイトと同一オリジン http://very.evil-site.biz/
21.
XSSによる個人情報アクセス Copyright © 2013
HASH Consulting Corp. 21 マル秘激安お得情報!!! http://very.evil-site.biz/ JavaScript 個人情報 正規サイト JavaScript 注入
22.
なぜJavaScriptを注入されるか? Copyright © 2013
HASH Consulting Corp. 22
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エスケープする
26.
これで、おk? Copyright © 2013
HASH Consulting Corp. 26
27.
No! XSSは色々ややこしい Copyright ©
2013 HASH Consulting Corp. 27
28.
参考文献(1) Copyright © 2013
HASH Consulting Corp. 28 XSSの基礎を説明して いますが、DOM base XSSやAjaxに関する説 明はあまりありません
29.
参考文献(2) 29 http://www.ipa.go.jp/about/technicalwatch/20130129.html DOM base XSSに関 する体系的な説明とし て貴重な参考資料です
30.
参考文献(3) Copyright © 2013
HASH Consulting Corp. 30 ブラウザセキュリティの 「面倒くささ」について、 逃げずに丹念に説明し ています。上級者およ び上級者を目指す方向 け
31.
まとめ • ブラウザには、サンドボックス、同一生成元ポリシー(SOP)などの 保護機能がある • SOPの保護機能により、正規サイトと「怪しいサイト」はアクセスが 遮断されている •
XSSは、SOPの保護機能の元で、正規サイトの情報に、「怪しいサ イト」からアクセスできる(これはアプリケーションの脆弱性) • XSSがあると、ワナサイトを閲覧した利用者の個人情報が漏洩 – あるいは「なりすまし犯行予告」の書き込みをさせることも… • XSS対策の基本は、「終端」となる記号の文脈に応じたエスケープ • でも、色々ややこしいので参考文献で勉強を • みなさん、よく言っておきますが、ウェブアプリの脆弱性の中で、 XSSが一番難しいですよ! Copyright © 2013 HASH Consulting Corp. 31