パスワードを忘れた? アカウント作成
11939937 story
インターネット

Apacheの「AddHandler」設定にご注意を 33

ストーリー by hylom
これは知らなかった 部門より
insiderman 曰く、

ApacheでCGIやPHPスクリプトの実行などを行うために使用される設定ディレクティブ「AddHandler」には、セキュリティ上の懸念点があるという(ApacheのAddHandlerはセキュリティ上の懸念から使用すべきではない — Dマイナー志向)。

たとえばAddHanderで「.php」に対し「php5-script」を指定する場合、拡張子「.php」をPHPスクリプトとして実行させるよう指定しているように見えるが、実際には「aaa.php.html」など、ファイル内に「.php」という文字列が含まれているファイルすべてが対象になる。

これは、PHPスクリプトの実行が許可されているディレクトリ内にアップロードされたファイルを格納する、といったケースで問題になる。これ単体で脆弱性になるわけではないが、利用時には注意が必要だろう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by ymasa (31598) on 2015年02月27日 22時50分 (#2768994) 日記

    > これは、PHPスクリプトの実行が許可されている
    > ディレクトリ内にアップロードされたファイルを格納する、といったケースで問題になる。

    これって、 hoge.php がアップロードされても問題なんじゃない? hoge.exe とか置けるの?

    なぜに公開されているディレクトリにアップロードされたファイルを置くの?

    • by Anonymous Coward

      ディレクトリ絞らずドキュメントルート全体で有効にしてる場合も多いと思われる。
      だから、画像をアップロードさせて指定のディレクトリに保存して、URLでアクセスする、っていうのは割とよくあるケース。
      その際に、xxxx.php.jpgというファイル名の画像をアップロードしてそのままの名前で保存したら問題起きるかもね、

      普通はファイルタイプをチェックしてから保存するだろうけど。

    • by Anonymous Coward

      世の中には自分がやりたいことができると脇目も振らず突っ走って、”できました!”というヤツは結構居る。
      見たことないならかなり幸せ者だ。

  • 世の中にあるURLのケツに.bakとか.oldとか付けていったらいろんなものが見れそうですね.

    • by Anonymous Coward

      脆弱性が残った古いバージョンが.bakとして残っていたとか、ありそう…。
      タレコミによれば「脆弱性じゃない」らしいから、ほとんどのところは対応しないだろうし、クラッキングがはかどりますね。

    • by Anonymous Coward

      ドットよりアンダースコア、_bak, _oldの方がよく使われてそうですね

      • by Anonymous Coward

        _index.html
        とか
        index.html_
        index.html__
        とか
        良くやってた記憶が

        • by Anonymous Coward

          index.html# ってやると、URLを打ってもindex.html内アンカーへのリクエストと解釈するルールが優先されるから安全。

          って聞いたんだが、本当なんだろうか。
          何か見落としているんじゃないかと気になってしょうがない。

  • これがそもそも間違いでは

  • by Anonymous Coward on 2015年02月27日 13時58分 (#2768736)

    とっとと修正しないというのは
    修正できない事情でもあるのかねえ

  • by Anonymous Coward on 2015年02月27日 15時13分 (#2768782)

    MacでMacportsでApache+PHPをインストールして、ほぼデフォルト設定で使ってるけど xxx.php.txt はそのままテキストで表示される。
    設定ファイル群を調べても、AddTypeはあるけど、AddHandlerやSetHandlerがない。

    ついでにUbuntu 12.04のaptで入れたものをみると、ちゃんとFileMatchの正規表現でファイル名の末尾とマッチした時だけSetHandlerで有効になってる。

    公式のレポジトリなんかからインストールしたものはこの問題に引っかからないような設定になってるのかな?

  • by Anonymous Coward on 2015年02月27日 18時52分 (#2768879)

    しかし/cgi-bin以下を全てfcgiwrapにぶん投げてるもよう。

    # どーでもいーよ。もう辞める会社だし。
    # 引き継ぐ人が、客の書いたのも全部fcgi化するんじゃね?

typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...