もしブラウザにSame-Origin Policyがなかったら...

 コメント3件
【誰でも簡単!!】プログラミングをせずにブラウザのデータを一括取得するスキルを身につけよう!~Webスクレイピング~
リサーチやデータ収集・分析でブラウザからデータを集める。そういった時に、もう何度もブラウザからデータのコピペを繰り返す必要はありません!ノーコードツール【Web Scraper】を使って誰でもスクレイ...
  • 1:以下、名無しがお送りします

    大変なことになるよな

  • 7:以下、名無しがお送りします

    そもそもSame-Origin Policyって何?

  • 15:以下、名無しがお送りします

    >>7 ブラウザのセキュリティ機能の一つで あるオリジンのリソースが別のオリジンのリソースにアクセスするのを制限するんだよ

  • 20:以下、名無しがお送りします

    >>15 オリジンってのは URLのスキーム、ホスト、ポートの組み合わせのことな

  • 26:以下、名無しがお送りします

    Same-Origin Policyがないと クロスサイトスクリプティング(XSS)攻撃がヤバいことになるぞ

  • 31:以下、名無しがお送りします

    >>26 XSSって悪意のあるスクリプトを埋め込まれて ユーザーの権限で勝手に実行されちゃうやつだろ?

  • 35:以下、名無しがお送りします

    >>31 そうそう 他のサイトから埋め込まれたスクリプトが ユーザーのクッキーとか盗んだりできちゃう

  • 44:以下、名無しがお送りします

    クロスサイトリクエストフォージェリ(CSRF)攻撃も怖いな

  • 47:以下、名無しがお送りします

    >>44 CSRFはユーザーが気づかないうちに 勝手に別のサイトにリクエスト送られて ログイン中のサイトで何かやらかされちゃうやつだっけ?

  • 50:以下、名無しがお送りします

    >>47 そうだね 他のサイトから勝手にリクエスト送られまくって大変なことになる

  • 52:以下、名無しがお送りします

    他にもフィッシングサイトに誘導されて ログイン情報盗まれたりするリスクもあるよな

  • 57:以下、名無しがお送りします

    >>52 Same Origin Policyがあれば フィッシングサイトのスクリプトからログイン中のサイトの情報にアクセスできないから被害は防げるんだけどね

  • 62:以下、名無しがお送りします

    iframeを使った攻撃もあるよな

  • 63:以下、名無しがお送りします

    >>62 そうそう 悪意のあるサイトがiframeで他のサイトを埋め込んで ユーザーのふりしてアクセスできちゃう

  • 65:以下、名無しがお送りします

    >>63 クリックジャッキングとかもiframeを透明にして重ねて ユーザーに気づかれないようにクリックさせる手口だよね

  • 71:以下、名無しがお送りします

    他にもWebStorageやIndexedDBなんかのデータも Same-Origin Policyで守られてるんだよな

  • 77:以下、名無しがお送りします

    >>71 Same-Origin Policyがないと 他のサイトから勝手にデータ読み書きされて大変だもんね

  • 86:以下、名無しがお送りします

    ブラウザ拡張機能も Same-Origin Policyで制限されてるよね

  • 87:以下、名無しがお送りします

    >>86 拡張機能がSame-Origin Policyを回避して 他のサイトのデータにアクセスできたら それこそ大変なことになるよ

  • 94:以下、名無しがお送りします

    ブラウザのセキュリティにとって超重要な機能ってことだな

  • 103:以下、名無しがお送りします

    >>94 ないと考えられないレベルだよね ユーザーのセンシティブなデータが守られなくなっちゃう

  • 110:以下、名無しがお送りします

    でもSame-Origin Policyがあると クロスオリジンでデータをやり取りしたい時に不便だよな

  • 119:以下、名無しがお送りします

    >>110 そういう時はCORS(Cross-Origin Resource Sharing)を使う サーバー側で許可するオリジンを指定できる

  • 129:以下、名無しがお送りします

    >>119 CORSの設定ミスって意外と多いんだよね オリジンの指定がゆるゆるだったりして

  • 136:以下、名無しがお送りします

    >>129 CORSの設定はホワイトリスト方式にして 信頼できるオリジンだけ許可するのがセオリーだね

  • 140:以下、名無しがお送りします

    Same-Origin Policyを回避する方法って他にもあるの?

  • 149:以下、名無しがお送りします

    >>140 昔はJSONPとか使ってたけど 今はあまり推奨されてないんだよね セキュリティリスク高いし

  • 154:以下、名無しがお送りします

    >>140 WebSocketは Same-Origin Policyの制約を受けないんだよ だから クロスオリジンでリアルタイム通信したい時なんかに便利

  • 159:以下、名無しがお送りします

    そういえば Same-Origin Policyの例外ってあったよね

  • 164:以下、名無しがお送りします

    >>159 <img>タグの画像読み込みとか <script>タグのJSファイル読み込みとかは クロスオリジンでもOKなんだよね

  • 168:以下、名無しがお送りします

    >>164 ただ読み込んだ画像のビットマップデータを JSから読もうとすると Same-Origin Policyに引っかかるんだけどね

  • 178:以下、名無しがお送りします

    PDFファイルの埋め込みなんかも Same-Origin Policyの例外だったはず

  • 186:以下、名無しがお送りします

    >>178 そうそう <embed>や<object>タグで クロスオリジンのPDFを埋め込めたりするんだよね

  • 195:以下、名無しがお送りします

    フォントの読み込みも Same-Origin Policyの例外だよね

  • 198:以下、名無しがお送りします

    >>195 そうだね @font-faceで クロスオリジンのフォントを読み込めたりする

  • 204:以下、名無しがお送りします

    Same-Origin Policyまわりは 仕様が複雑だしブラウザの実装もバラバラだから 注意が必要だよね

  • 213:以下、名無しがお送りします

    >>204 セキュリティ対策は Same-Origin Policyに頼りきるんじゃなくて 多層防御が大事だと思う

  • 218:以下、名無しがお送りします

    >>213 そうだね サーバー側でもバリデーションしたり 機密情報は暗号化したりしないとね

  • 224:以下、名無しがお送りします

    昔に比べると ブラウザのセキュリティもだいぶ進化したけど まだまだ気を抜けないよね

  • 227:以下、名無しがお送りします

    >>224 新しい攻撃手法も次々と出てくるしね いたちごっこだけど ユーザーを守るために頑張るしかないね

コメント(3件)

  • 1

    Same-Origin Policyなしの世界マジ怖い

  • 2

    CORSの設定ミスあるあるすぎる

    1
  • 3

    例外があるのがまたややこしいんだよな