投稿

2月, 2021の投稿を表示しています

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月26日(火)2コマ目

イメージ
今日、やったこと クロスサイトスクリプティング 今日のホワイトボード クロスサイトスクリプティング JavaScrtipはCookie中のセッションIDにアクセスできるか? Cookie中のセッションIDはHttpOnly属性がONになっているため、JavaScriptからはアクセスできない。 図 JavaScriptはCookie中のセッションIDにアクセスできない クロスサイトスクリプティング対策 ユーザー入力データのような安全が保障されていないデータをそのまま出力していることが問題。何が書き込まれているかわからないデータはそのままブラウザに出力せず、HTMLタグを無効化するサニタイジングを行うこと。 図 クロスサイトスクリプティング対策