skillup

技術ブログ

サーバー・ネットワーク

パス名パラメータの未チェック・ディレクトリトラバーサル

投稿日:2017年2月3日 更新日:

本日もセキュリティ関係のネタを少々。ディレクトリ・トラバーサルという攻撃です。

ディレクトリ・トラバーサルとは?

getメソッドで引数を取得するときですが、中にはファイルパスをしてしているプログラムがあります。その場合攻撃者に任意のファイルを指定され、ウェブアプリが意図しない処理を行ってしまう可能性があり、このような問題をディレクトリ・トラバーサルといいます。

被害

  • サーバーファイル内の閲覧、改ざん、削除
  • それに伴うじゅうような情報の漏洩
  • 設定ファイル、データファイル、ソースコードの改ざん

対策

  • 外部からのパラメータでウェブサーバー内のファイル名を直接指定する実装をさける
  • ファイルを開く際は固定のディレクトリを指定し、かつファイル名にディレクトリが含まれないようにする(ディレクトリ情報を与えないようにする)
  • ウェブサーバー内のファイルへのアクセス権限の設定を正しく管理する
  • ファイル名のチェックを行う(不正文字があった場合は処理を中止するなど)

参考リンク

安全なウェブサイトの作り方

Webセキュリティの小部屋 ディレクトリ・トラバーサルと対策

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

シェルの基礎+ユーザー切り替え関連

雑誌を見ていたらシェルの特集があったので、ちょっとメモリます。 補強したいところのみ要点をチェック。 Contents0.1 実行パスについて0.2 ビルドインコマンド0.3 シェル変数・環境変数0. …

no image

journald

CentOS7では従来のsyslogデーモンと並行してjournaldというログ管理サービスがあります。 Contents1 コマンド一覧2 参考図書・リンク コマンド一覧 [crayon-5ecf3 …

no image

nginxのデバッグ

今までいろいろと苦しめられてきた(汗)nginxのデバッグについて。 まず任意の文字や変数をログに出すことができます。 Contents1 変数の出力1.1 rewriteデバッグ2 小ネタ 変数の出 …

no image

pythonのアップグレードに関して

pythonのアップグレードに関して。 python2.6だとpipがインストールされていないのですが、入れようとしてハマったのでメモ。 一般的なインストール方法ですが、下記のようになります。 [cr …

no image

phpenv5.3+php-fpm

レガシーなプロジェクトではいまだにPHP5.3なんかを使うケースがあったりします。 これがCentOS6だったらyumでphp5.3とかだったらいいんですが、サーバーはCentOS7だったりするとなか …