Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

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

翻訳が誤っている場合はコメントか@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の設定ミスで起こるリファラの検証不備

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away