24
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nginxの設定ミスで起こるパス トラバーサル

Last updated at Posted at 2018-05-25

はじめに

この記事は下記リンクの日本語翻訳記事です

翻訳が誤っている場合はコメントか@no1zy_secまでお知らせいただけると幸いです。

[alias_traversal] Path traversal via misconfigured alias

aliasディレクティブは指定されたlocationのパスのreplaceに使用されます。
例えば以下の設定:

location /i/ {
    alias /data/w3/images/;
}

/i/top.gif のリクエストで, /data/w3/images/top.gif のファイルが送られます。

しかし、ディレクトリセパレーター (すなわち / ) でlocationが終わっていない場合:

location /i {
    alias /data/w3/images/;
}

/i../app/config.py のリクエストで, /data/w3/app/config.py のファイルが送られます。

つまり、不適切な alias の設定は攻撃者が対象のフォルダの外に保存されているファイルの読み込みを可能にします。

対策

それは非常にシンプルです

  1. まず、aliasディレクティブを全て見つける必要があります。
  2. 次に、親のprefixed locationが / で終わることを確認してください。

関連リンク

nginxの設定ミスで起こるHTTP Splitting
nginxの設定ミスで起こるSSRF
nginxの設定ミスで起こるMultiline response headers
nginxの設定ミスで起こるレスポンスヘッダの出力不備
nginxの設定ミスで起こるreferer/origin検証の問題
nginxの設定ミスで起こるHostヘッダフォージェリ
nginxの設定ミスで起こるリファラの検証不備

24
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?