●概要
※スクリーンショットはあんまり記事に関係ないかも。
当該記事を書こう書こうと思い一年くらい経過してしまい、もはや鮮度もなく、手元のログも埋もれてしまったので、下書きメモだけでも公開しようと。
下記、原文ママです。
(昨年の)DEFCON CTF 2017のWeb問を解いてた時に気になったのでメモ。
HTTPヘッダインジェクションを発見したのでつついていると、Gekko系(Firefox)ブラウザはContent-Lengthヘッダを厳密に処理するので、Length分のbodyのみレンダリングされ、あふれた部分は無視される。
この挙動を悪用し、HTTPヘッダインジェクションを組み合わせることで、ちょっと変?な攻撃テクニックができる。
値を調整した任意のContent-Lengthヘッダを追加し、悪意あるコードを仕込んだbodyを追加することで、元々のbodyがどうであれレンダリング上は無視させ、悪意あるコードのみを実行させることが可能でした。
そもそもHTTPヘッダインジェクションができる時点でお察しだけど……追加検証で、WebKit系(Chrome, Safari)は再現できなかったため、Content-Lengthヘッダを厳密に見ていないと思われる。
また、BurpやZAPなどのローカルプロキシツールでは、Content-Lengthヘッダを捻じ曲げられないため、お手軽検証ができなかった。
もし、何か気になることがあったら、Twitterやメールなどでお問い合わせください。
既知の事だったらはずかし。。。