0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

受動的攻撃と同一オリジンポリシー、CORSについて整理してみた

Posted at

Webアプリケーションに対する攻撃

  • 能動的攻撃:攻撃者が直接Webサーバーに攻撃する。例:SQLインジェクションがある
  • 受動的攻撃:Webサイトに罠を仕掛ける攻撃で、いくつかの種類があるため、以下で記載する

受動的攻撃の種類

  1. 正規サイトを悪用する受動的攻撃
  2. サイトをまたがった受動的攻撃

受動的攻撃への対策@ブラウザ

  • サンドボックス:できることを制限する環境を用意する考え
  • 同一オリジンポリシー:別サイトのスクリプトが勝手にデータを読み取れないようにするセキュリティ制限

同一オリジンである条件

  1. URLのホストが一致している
  2. スキームが一致している
  3. ポート番号が一致している
    例:

CORS

CORS:Cross-Origin Resource Sharingの略。異なるオリジン間でリソースを共有するための仕組み。
通常は同一オリジンポリシーによってブロックされますが、サーバーが適切なレスポンスヘッダを返すことで、安全にアクセスを許可できる。

例えると

  • 同一オリジンポリシー:マンションのセキュリティーゲート
  • CORS:特定の友達だけはセキュリティゲートを通れるようにリストを用意する

CORSの種類

  1. シンプルなリクエスト
  2. プリフライトが必要なリクエスト

シンプルなリクエストとは

  1. HTTPメソッドが限定されている
  • GET
  • POST
  • HEAD

2.リクエストヘッダは以下に限る

  • Accept
  • Accept-Language
  • Content-Language
  • Content-Type
    *Content-Typeは以下のいずれか
  • application/x-www-form-urlencoded
  • multipart/form-data
  • text/plain

上記に当てはまらない場合は全て「プリフライトが必要なリクエスト」

  • 本リクエストの前に、ブラウザがOPTIONSリクエストを送信する
  • サーバーが「そのメソッド・ヘッダも許可しているよ」と返すと、本リクエストが実行される
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?