Zenphotoのコンフィグファイルの保護

この記事は最終更新日から4年以上経過しています。
内容が古い可能性がありますのでご注意ください。

前回の記事を書いていて気づいてしまったので……。今まで気づかなかった自分も反省すべきですね。

Zenphotoのセットアップファイルは削除
2013年8月30日に発生したロリポップ!のハッキング騒ぎ。ハッキングの直接の被害には遭わなかったが、ロリポにインストールしていたフォトギャラリーCMS「Zenphoto」で、訪問者にデータベースの接...

Zenphotoフォルダの下に「zp-data」というフォルダがあるのだが、ここにはセットアップ時のログや、デバッグログ、コンフィグファイルがある。
こんな感じ。

zp-data

「zenphoto.cfg」というファイルにはデータベースに接続するためのユーザー名やパスワードが書かれている。

.htaccessが置かれているのでwebからはこのフォルダの内容は参照できないようになっているのだが、この.htaccessの記述が問題あり。

以下がそのデフォルトの状態。

IndexIgnore *
<FilesMatch "\.(htaccess|cfg|log)$">
Order Allow,Deny
Deny from all
</FilesMatch>

拡張子がhtaccess、cfg、log のファイルへのアクセスを蹴っているのだが、ここでもう一度最初の画像を見てほしい。「zenphoto.cfg.bak」というファイルがあると思う。これはZenphotoをアップデートしたりした時に、以前のzenphoto.cfgの内容をそのままコピーしたものだ。
そう、拡張子が.bakなのでこの.htaccessの記述では保護されない、つまり丸見え。

実際にZenphotoを使っているサイトをいくつか探してこのzenphoto.cfg.bakまでのパスを入れてみたんだけど……ええ、見えてしまいました。

そういうわけでこの.htaccessファイルは以下のように書き換えて、このフォルダへのweb経由のあらゆるアクセスを拒否すべきでしょう。

order deny,allow
deny from all