skillup

技術ブログ

サーバー・ネットワーク

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

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

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

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

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

被害

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

対策

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

参考リンク

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

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

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

執筆者:


comment

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

関連記事

no image

laravel+vessel

現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。 特にlaravelのインストールなどに向いていますが、laravelでなくとも使 …

no image

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

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

no image

Azure環境へのデプロイ

今までクラウドのインフラ環境というとほとんどがAWSだったのですが、C#+SQLServerの案件に携わっていることもあり、Azureを使うことに・・ 自学で簡単なアプリを作ってデプロイしたんですが、 …

no image

インメモリデータベース redis

インメモリデータベースのredis(レディース)について。 キャッシュとして以前はmemcachedを使っていましたが、いろいろ多機能ということでredisをちょっと触ってみようかと。 Content …

no image

vimの基本的な使い方 設定ファイル、基本コマンド他

もう4年ぐらいの付き合いになる憎らしくもかわいいエディタvi(vim)について。 雑誌に特集があったのでこれを機にまとめてみました。シリーズものになるかも・・・ Contents1 Vi(vim)とは …

アーカイブ