1月28日(木)1、2コマ目
今日、やったこと
JavaScriptは危険か?
今日のホワイトボード
JavaScriptはサンドボックス構造
JavaScriptはクライアント側で実行されるため、”クライアント側のファイルとかにアクセスされるかも”と心配になる。
が、JavaScriptがアクセスできるのはJavaScriptがあるWebページ内。よって、クライアントPCのファイルにはアクセスできない。
![]() |
| 図 JavaScriptはサンドボックス内で動く |
クッキーにはアクセスできる?
できる。が、httponly属性がONになっているクッキーにはアクセス不可。
クッキーには発行元のURLが保存されれている。このURLを含め、同一オリジンの原則のもとにアクセス制御されている。
![]() |
| 図 JavaScriptがアクセスできるクッキーは同一オリジン |
同一オリジンならアクセス可なら
タブブラウザのように複数ページが見れるブラウザで
①amazonのページ表示(しかもログイン済み)
②悪意のあるサイト表示
を表示する。
悪意のあるサイトには「いまならamazon99.99%オフ」と魅惑的なリンクがある。思わずクリック。
このリンクは確かにamazonへのリンク。しかしならが、クッキーにアクセスするJavaScriptも記述されている。
同一オリジンであるため、amazonにログインした際にセットされたクッキーにアクセス。セッションIDを盗み出す。
ということができます。実際はHttpOnly属性がONになっているため、JavaScriptからはアクセスできないけど。
![]() |
| 図 同一オリジンならアクセス可なら |
ということで、危険なような安全なようなJavaScript。今ではクライアント側に必須ですが、危険性があることを把握しておく必要があります。



コメント