370 Views
May 06, 23
スライド概要
この資料では、クロスサイトスクリプティング(XSS)脆弱性の概要から具体的な攻撃手法、そしてその防御策について詳しく説明しています。まず、XSSの定義や攻撃のメカニズムを理解した後、実際に脆弱性のあるサイトでスクリプトを実行する方法を示し、最終的にはエスケープ処理やフレームワークを利用した防御策を提案しています。
WEB システムを作っています。
XSS 脆弱性をついてみた 〜 それを防御するには 〜 Tomohiro K 1
自己紹介 Tomohiro K この 1年のクレジット請求の平均が 12万円超えに気づいて危機感 2
今日のゴール クロスサイトスクリプティング ( XSS ) 脆弱性の 理解を深める 3
目次 1. XSS とは? 2. XSS 攻撃してみよう 3. どうすれば防げる? 4
XSS とは? Webアプリケーションの脆弱性もしくは それを利用した攻撃 XSS攻撃とは、攻撃者の作成したスクリプトを脆弱性のある標的サイトのドメインの権限において 閲覧者のブラウザで実行させる攻撃一般を指す。 理解を深めるために 実際に XSS 攻撃してみよう https://w.wiki/4PgX 5
XSS 攻撃してみよう (1/3) XSS 脆弱性のある 掲示板サイト 6
XSS 攻撃してみよう (2/3) 実行させたいスクリプトを 入力し、登録する 7
XSS 攻撃してみよう (3/3) アクセスしたユーザのブラウザで、 攻撃者のスクリプトが実行される 8
どうすれば防げる? (1/2) エスケープする エスケープ例 ● 「<」 → < ● 「>」 → > ● 「"」 → " など ユーザの入力を ← のように 変換(エスケープ)することで、 「<script>」は「<script>」という 無害な文字列に置き換わるため、 XSS 攻撃を回避できる 9
どうすれば防げる? (2/2) フレームワークのエスケープの利用を検討し、 なければ言語のエスケープを利用する CakePHP フレームワークの場合 PHP の場合 h() 関数でくくる htmlspecialchars() 関数でくくる CakePHP | View - ビュー PHP: htmlspecialchars - Manual 10
XSS 攻撃してみよう (1/2) XSS 脆弱性対策のある 掲示板サイト スクリプトとして認識されず 文字列として出力される 11
XSS 攻撃してみよう (2/2) 掲示板サイトの HTML を 確認するとエスケープされている 12
ご清聴 ありがとうございました 13