Successfully reported this slideshow.

ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題

7

Share

Loading in …3
×
1 of 12
1 of 12

ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題

7

Share

ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題(3題)と解説です。PHPカンファレンス2019での講演資料を少し手直ししました。
試験についてはこちら
https://www.phpexam.jp/tokumarubasic/

ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題(3題)と解説です。PHPカンファレンス2019での講演資料を少し手直ししました。
試験についてはこちら
https://www.phpexam.jp/tokumarubasic/

More Related Content

More from Hiroshi Tokumaru

Related Books

Free with a 14 day trial from Scribd

See all

ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題

  1. 1. 徳丸試験基礎編の例題を紹介 EG セキュアソリューションズ株式会社 徳丸 浩
  2. 2. 前提 • ウェブ・セキュリティ基礎試験(徳丸基礎試験)の 模擬試験およびその解説です https://www.phpexam.jp/tokumarubasic/ • 徳丸試験の本番の問題とは別ですが、似たような難 易度に調整しています 2
  3. 3. 問題1 クッキーにHttpOnly属性を設定した場合の効果を一つ 選択せよ 1. クッキーがHTTPSではなくHTTPのみで送信される 2. CSRF脆弱性を防止できる 3. JavaScriptから当該クッキーを参照できなくなる 4. 異なるオリジンからアクセスできるようになる 3
  4. 4. 問題1 – 解説 • 正解は 3 • クッキーをHTTPのみで送信強制する方法はありま せん。 • クッキーの発行時にCSRF脆弱性を防止する機能と してSameSite属性が実装されていますが、タイミン グ的に徳丸本2版には間に合いませんでした • JavaScriptから当該クッキーを参照できなくなるす るのがHttpOnly属性の機能です • クッキーを異なるオリジンからアクセスできるよう にする機能候補としてdomain属性がありますが、 ドメイン(effective TLD)を超えた共有はできませ ん 4
  5. 5. 問題2 脆弱性診断の結果、ディレクトリトラバーサル脆弱性が指摘さ れ、その証拠として /etc/passwd にアクセスした結果が報告書 に掲載されていた。 当該脆弱性の正しい対策を一つ選択せよ 1. ウェブアプリケーションの実行ユーザから /etc/passwd に アクセスできないよう設定する 2. 外部から入力されたファイル名を正しくエスケープ処理す る 3. 外部から入力されたファイル名に対して、basename関数な どディレクトリ名を除去する関数を用いる 4. Apache等の設定を見直し、ファイルの一覧が表示されない ことを確認する 5
  6. 6. 問題2 – 解説 • 正解は 3 • /etc/passwd へのアクセス制御は現実的に難しいことと、 他のファイルへのアクセスには効果がないので緩和策と しても効果が少ないです • この文脈ではファイル名のエスケープ処理はできません • basename関数を用いて外部から入力されたファイル名 にディレクトリ名が含まれないようにする…これが正解 です(本番試験では特定言語の関数名は原則として出ま せん) • Apache等の設定を見直し、ファイルの一覧が表示され ないことを確認する…これはディレクトリ・リスティン グの禁止で、意図しないファイル公開への緩和策ですが、 ディレクトリトラバーサルには効果がありません 6
  7. 7. 【解説】basename関数は何をするか • 以下のPHPスクリプト <?php $filename = '../../../../../../etc/passwd'; var_dump(basename($filename)); • 結果は下記となる(var_dumpなので引用符でこま れる) "passwd" • passwdというファイルは通常存在しないが、単に エラーにすればよい 7
  8. 8. 問題3 X-Frame-Optionsヘッダと最も関連の深い脆弱性はど れか? 1. クロスサイト・スクリプティング 2. クリックジャッキング 3. セッションハイジャック 4. クロスサイト・リクエストフォージェリ 8
  9. 9. 問題3 – 解説 • 正解は 2 • X-Frame-Optionsヘッダと最も関連の深い脆弱性は クリックジャッキングで、コンテンツがframe / iframe に入ることを防ぎます。 9
  10. 10. 【解説】クリックジャッキングの攻撃手法 ウェブインテント機能を持つ掲示板、クエリー文字列intentを指定すると犯行予告文を入力 欄に設定できる。 罠ページの画像を用意し、iframe要素を用いて罠と攻撃対象フォームを重ねる。そして、 CSSのz-indexを用いて、罠画像を奥側、攻撃対象フォームを手前にした上で、攻撃対象の フォームを透明に設定する。 利用者から見ると罠サイトだけが見えるが、罠の「応募」ボタンを押そうとすると実際に は手前側の「投稿」ボタンが押され、犯行予告文を投稿してしまう。 10
  11. 11. 【解説】クリックジャッキングの対策 アプリケーション単体では困難なためブラウザ側の支援が必要。 レスポンスヘッダX-Frame-Options  DENY(拒否)  SAMEORIGIN(同一オリジンに限り許可) いずれかの値をとる PHPによりX-Frame-OptionsのSAMEORIGINを指定するには以下のように記述 一般的には、Apacheやnginxの設定で常時このヘッダを出力するとよい X-Frame-Options: DENY X-Frame-Options: SAMEORIGIN header('X-Frame-Options: SAMEORIGIN'); 11
  12. 12. その他大切なこと • 基礎試験はPHP等の特定言語には依存しません – JavaScriptに関する問題は出ます • 徳丸本7章 脆弱性診断入門 からは出題されません • とても基礎的な問題ですが、それでも意外に点数が ばらけます(経験談) • ウェブセキュリティの基礎が把握できているかを確 認するのに良いと思います 12

×