本日もセキュリティ関係のネタを少々。ディレクトリ・トラバーサルという攻撃です。
ディレクトリ・トラバーサルとは?
getメソッドで引数を取得するときですが、中にはファイルパスをしてしているプログラムがあります。その場合攻撃者に任意のファイルを指定され、ウェブアプリが意図しない処理を行ってしまう可能性があり、このような問題をディレクトリ・トラバーサルといいます。
被害
- サーバーファイル内の閲覧、改ざん、削除
- それに伴うじゅうような情報の漏洩
- 設定ファイル、データファイル、ソースコードの改ざん
対策
- 外部からのパラメータでウェブサーバー内のファイル名を直接指定する実装をさける
- ファイルを開く際は固定のディレクトリを指定し、かつファイル名にディレクトリが含まれないようにする(ディレクトリ情報を与えないようにする)
- ウェブサーバー内のファイルへのアクセス権限の設定を正しく管理する
- ファイル名のチェックを行う(不正文字があった場合は処理を中止するなど)