skillup

技術ブログ

サーバー・ネットワーク

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

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

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

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

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

被害

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

対策

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

参考リンク

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

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

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

執筆者:


comment

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

関連記事

no image

Let’s Encryptによるhttps化

以前下記の記事で、herokuでLet’s Encryptを使おうとしたのですが、結局使うことがありませんでした。 herokuでのLet’s Encrypt設定 どこかで使おうか・・と考 …

no image

Gitのブランチについて

ちょっといろいろと触っているGitに関して。 前回は作業ディレクトリ、インデックス、コミットについて説明したのですが、今回はブランチについて行います。 Contents1 ブランチとは?2 ブランチに …

no image

ansible host指定,変数の外だし,ユーザー追加

Ansibleにてhostユーザーやユーザーの追加などす。 Contents1 ホストの指定2 ユーザーの追加2.1 変数を別ファイルに2.2 パスワードのハッシュ化2.3 パスワードなしでsudo2 …

no image

docker メモ

まだ数時間しか触ってませんが、なんとなくのイメージなど Vagrantと違いOSではなく主にミドルウェア(httpd,mysqlなど)を手軽に構築する仮想環境ツール Linuxの中でしか動かない 起動 …

no image

SSLの設定に関して

実務でサーバーにSSLの設定をすることがあったので書いておきます。 Contents1 SSLとは?1.1 ファイルの設定方法2 設定方法全般に関して2.1 秘密鍵2.2 サーバー証明書と中間証明書の …