住所を1つだけ打ったが、フォルダがそのまま開かれる
ブラウザのアドレスウィンドウにサイトアドレスを入れて、 /uploads/ を貼り付けます。ログイン画面も、エラー画面も出ず Index of /uploads/ というタイトルでファイルのリストがそのまま表示されます。契約スキャン、従業員リスト、データベースダンプなどの名前が並んでいます。
権限を超えたことも、何を突破したものでもありません。そのフォルダに最初の画面として書き込むファイルがない場合 サーバーがリストを代わりに描画するように されているからです。だから、住所を知っている人なら誰でも同じ画面を見ます。
リクエストを一度だけ送ってみました
BlueCanvas レビューアーカイブに住所が残っている641か所にホーム画面リクエストを1回ずつ送り、続いて固定パス5つにそれぞれ1回ずつ送りました。
| 確認したもの | 場所 |
|---|---|
| 住所が残っている宛先 | 641スポット |
| リクエストに答えたところ | 615スポット |
| フォルダ一覧がそのまま開いた場所 | 5か所(2か所以上開いている2箇所) |
| 製品名とバージョンがそのまま読まれた場所 | 106スポット |
| 保護ヘッダー3行が1つもない場所 | 405カ所(30カ所あり) |
オープンパスは /images/ 3ヶ所、 /data/ 2ヶ所、 /uploads/ 1カ所、 /files/ 1か所でした。 /backup/ は0か所でした。 5つの場所はあまりありません。ただし開かれた場所は誰にでも開かれています。
測定方法を明らかにします。 2026年8月31日にホーム画面と固定経路5つにそれぞれ GET一度だけ 送りました。リダイレクトは4回まで追跡し、タイムアウトは10秒、同時8スレッドです。 認証も、パラメータ操作も、再試行もしませんでした。 開いたリストの実際のファイル名は移動せず、映像と本文の画面は再現です。
リストが閉じていても、サイトは自分で話す
フォルダリストが閉じられていても、サイトはリクエストに答えながら自己紹介を一緒に送信します。
HTTP/1.1 200 OK
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k
X-Powered-By: PHP/5.4.16
Content-Type: text/html; charset=UTF-8
何で作ったのか、何枚の版なのかがそのまま書かれています。回答した615のうち 106スポットで製品名とバージョンが読み込まれ、多くの値はOpenSSL/1.0.2 14ヶ所、Apache/2.4.6 11ヶ所、PHP/5.4.16 8ヶ所、PHP/7.4.33 8ヶ所でした。これらの値がまだサポートされているバージョンか PHPバージョンを3年目にしなかったサイトで起こることで別々に扱いました。
削減することと加算することは異なります
ここで二つを分けて見なければなりません。性格が違う仕事だから一緒に縛ると判断がずれます。
| 性格 | 何か | はい |
|---|---|---|
| 削減すること | 出てくる情報 | フォルダ一覧自動表示、Server の製品・バージョン、X-Powered-By |
| 加える | ブラウザに掛けるルール | HSTS, X-Frame-Options, Content-Security-Policy |
これらの項目 ないと侵害が確定するわけではありません。 逆にすべてがあると安全になることもありません。サイトごとに構造が異なります。 設定 数行で一度に終わることもありません。 たとえば、Content-Security-Policy は、間違って歩くと、使用していた画面がフリーズすることがあります。だからこの文は「こうして直してください」ではなく「これから確認してみてください」で終わります。
今日することは尋ねることです
管理担当者に2行だけ送ってください。そのままコピーして使うこともできます。
- 「公開フォルダにファイルリストがそのまま開かれるところがあるか確認していただけますか?」 画像・アップロード・資料室のようにログインせずに開かれる経路を見てもらいます。
- 「応答ヘッダーに製品名とバージョンが写っているのも一緒に見てください。」 不要な露出であれば減らせるかどうかを判断してもらいます。
どちらも確認だけでも答えが出る項目です。何をどのように変えるかは、サイト構造を知る担当者が決めるほうが安全です。外で何が見えるかを一緒に確認することも可能です。