skillup

技術ブログ

サーバー・ネットワーク

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

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

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

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

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

被害

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

対策

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

参考リンク

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

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

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

執筆者:


comment

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

関連記事

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

no image

serverspecによるサーバー自動テスト

最近は管理しているサーバーが多いのと、構成管理ツール(Ansible)なんかをちょくちょく使ってますが、ちゃんと入っているかどうかを確認するのはそれなりに大変だったりします。 が、構成管理ツール自体も …

no image

journald

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

no image

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

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

no image

vagrant 複数ホストを起動

ansbileを使おうと思ったんですが、ansibleはホスト1→ホスト2という構成になっているため、2台のホストがないと使えません。 MACであればローカル環境からいけますし、Windowsでもcy …

アーカイブ