ブラウザ以外で処理されるヘッダ
前回のHTTP/2についての記事の中でCGIのStatus
ヘッダに少し触れたので、ブラウザ以外(サーバやリバースプロキシ)で処理される応答ヘッダについて書く。
その種のヘッダには以下のようなものがある。
Status: 404
... CGI環境などで応答ステータス変更
X-Sendfile: /etc/hosts
... Sendfileが有効な環境でサーバ上のファイルを取得
X-Accel-Redirect: /internal/secret
... nginxの内部リダイレクトで非公開ファイルを取得
他にもWebサーバや中間の機器で処理されうるヘッダというのは多くあるだろう。ただし、この手のものはサーバやリバースプロキシがヘッダとして解釈しなければならないので、LFが入ることが条件になることが多いと思われる。
ところで、普通のHTTPヘッダインジェクションは他人に踏ませる受動的な攻撃だが、Sendfileなどでは能動的な攻撃になりうる。この辺は、XSSが能動的なSSI(Server Side Includes)インジェクションなどに化けることがあるのに似ている。