平成21年度 春期 午後1 問3 アプリケーション開発時の脆弱性対策

Uncategorized

設問1
(1)
cookieにセットされたセッション識別子のうち、会員番号部分を他人のものに変える(42文字)

セッション識別子はログイン日と会員番号を組み合わせた単純なモノである。
会員番号の部分を他人のモノに変えることで、その人になりすましてアクセス出来てしまう。

(2)
行番号 : 24
修正方法:画像ファイルを相対パス名で指定する。(18 字)
     http の部分を https にする。(17 字)

24行目で表示する画像ファイルを絶対パスで指定しているが
プロトコル名が “http” となっていることが問題の原因。
ここを”https“にするか、相対パスで指定することで
今回のようなプロトコルの指定ミス(恐らく打ち損じ??)を防げる。
設問文にあるように、図3のプログラムと画像ファイルa0 ~ a9は同フォルダ内にあるので
相対パスで指定する場合は、画像ファイル名だけで指定可能と思われる。

絶対/相対パスの参考:
https://296.co.jp/article/22541020191005857

(3)
タグの href 属性(9 字)
タグのイベントハンドラ属性(13 字)
href属性(aタグ)はハイパーリンクのリンク先や画像のURLを指定するが
そこに悪意のあるスクリプトが仕込まれ、そのリンクをクリックするとスクリプトが実行される
イベントハンドラ属性は、利用者のマウス/キーボード操作に応じた処理を記述するためにあり
そこにもスクリプトを記述することが可能。

href属性 / イベントハンドラ属性によるXSS
参考:https://www.tohoho-web.com/ex/xss.html

設問2
(1)

透過的暗号化とは、問題文にもあるようにDBMS側で自動的にデータを暗号化、復号する機能。
DBにデータが入る際に暗号化、出ていく際に復号されるので
ア,イ,ウの選択肢はDB外での不正閲覧のため、データが復号されてしまっている

(2)
鍵付きハッシュ関数でパスワードからハッシュ値を算出して格納する。(32 字)
パスワードとランダムな文字列を連結した文字列からハッシュ値を算出して格納する。(39 字)
パスワードのみをハッシュ化して保存する方法は、問題文中のリスク(パスワードの使いまわし)や
レインボー攻撃、辞書攻撃といった攻撃で破られる可能性がある。
そのため、パスワードをランダムな文字列と組み合わせてハッシュ化して格納すると良い
このようにしてハッシュ値を算出する関数を鍵付きハッシュ関数(HMAC)という
また、この為のランダムな文字列をソルトと言う。
※余談
万が一パスワードが漏えいした際を考慮し、解読に時間を掛けさせる手法で
ハッシュ化を何度か繰り返す「ストレッチング」と言う手法があります。
今回の試験とは関係ないですが、どこかの問題で答えさせられた思うので
この機会に憶えておくと良いと思います。


感想
HTMLの属性を答えさせられる問題以外は
割と文中での内容で答えられたので、難易度は普通~易しめの印象でした。

コメント

タイトルとURLをコピーしました