平成31年度 春期 午後1 問1 Webサイトのセキュリティ

Uncategorized

設問1
(1)
Same-Origin
ブラウザの標準的な機能として、FQDN,スキーム,ポート番号のいずれかが異なるサイトに対し
リクエストを送信(クロスドメインリクエスト)できないように制限されている。
これをSame-Originポリシ(同一生成元ポリシ)と呼ぶ。

(2)
イ、キ、ク(順不同)
上述の通り、FQDN,スキーム,ポート番号が1つでも異なると
リソースへのアクセスは制限されてしまう。

(3)
WebサイトBへのログイン(13字)
攻撃者が会員情報を窃取する為に、被害者には会員情報を取得してもらう必要がある
図1の注4)に(Y-5)でエラーが帰ってきたら、WebサイトBにログインするように促される とある
(Y-5)では会員情報がレスポンスで帰ってくるので、会員情報を得る為にはWebサイトBへのログインが必要となる。

設問2
e:v
withCredentialをtrueで(iii)のプリフライトリクエストに含めて送信することにより
メインリクエスト時(v)に、Cookieを含めたリクエストが可能になる。

設問3
(1)
f:https://site-a.m-sha.co.jp
Access-Control-Allow-Originには、プリフライトリクエストのOriginヘッダフィールドに設定した
URLの値が入って帰ってくる。

(2)
g:売れ筋商品情報配信の申込ページのオリジン(20字)
このフェーズでOriginヘッダフィールドに設定したOriginに対するアクセス許可が得られたかを確認。
私は「プリフライトリクエストのOriginヘッダフィールドの値」としましたが
意味合いとしては同じような気もしますが、解答はなるべく公式に近づけるべきですね…

(3)
h: originヘッダフィールドの値(16字)
i : 許可するオリジンのリスト(12字)
j : 一致(2字)
最後の問題視にしては易しめだと思った(当社比)
流れとしては記載通りだが、簡略すると以下の手順
1 API-Yに許可するオリジンのリストを設定する
2 API-Yはプリフライト/メインリクエスト内のoriginヘッダフィールドの値を、上記のリストと比較し
一致するものがあるかを確認する
こうすることで複数オリジンからのアクセスを許可できる。

感想
初見は知らない言葉だらけでビビったが、ちゃんと説明があって助かった
Webに関する知見が浅くても、sameoriginポリシ,CORS,XMLHttpRequest くらいは知っておきたい
Webセキュリティ関連の中では優しい方かも?

コメント

タイトルとURLをコピーしました