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。今ではクライアント側に必須ですが、危険性があることを把握しておく必要があります。


コメント

このブログの人気の投稿

1月6日(水)1コマ目

11月25日(水)1コマ目

10月14日(水)1コマ目