2013年9月1日日曜日

XSS(クロスサイトスクリプティング)対策 チェック処理について

XSS対策について調べたところ、@ITさんのXSS脆弱性により起こる被害とその対策
チェック処理の注意点が書かれていたのでメモ。

①チェック処理はサーバで行う
 javaScriptを使用してクライアントでチェックを行う場合
 ブラウザでjavaScriptをOFFに設定していた場合は、チェックされずに
 不正な値がサーバに渡る。
 また、入力フォームを攻撃者が容易していた場合も
 サーバでそのまま不正な値が処理されてしまう。

②全てのパラメータのチェックを行う。
 ラジオボタンなど、決まった値を選択させる場合に
 チェック処理を実装していない場合があるが
 攻撃者が容易したサイト(例えば、ラジオボタンの選択項目の箇所が
 テキスト入力欄に置き換えられているなど)
 にて、不正な値が入力されると、サーバでその値で処理を行ってしまう。
 なので、決まった値を選択させる入力欄にも、サーバ側でチェック処理を行う必要がある。
 
③毎回チェックを行う。
 情報を複数ページに渡り入力する場合(例えば、ショッピングサイトなどで
 ページごとに順をおって、注文者情報や配送先などを入力する場合
 先のページで入力した内容は、一度サーバでチェックした後に
 次のページでは、hidden項目に設定してユーザには見えない用に
 保持することがあるが、hidden項目のデータは改ざんすることが可能なため
 一度、入力チェックしても、データ送信の都度サーバ側でチェック処理を
 行う必要がある。

と、チェック処理ではこのような注意点があるようです。
①なんかは、以前どこかで実装した気がするなぁ。。。(汗
さて、今後は注意して実装しなくては。

0 件のコメント:

コメントを投稿