HTTPリクエストスマグリング
From Wikipedia, the free encyclopedia
| HTTP |
|---|
| 主要項目 |
| リクエストメソッド |
| ヘッダーフィールド |
| ステータスコード |
| 認証方式 |
| セキュリティホール |
HTTPリクエストスマグリング(英:HTTP request smuggling、略称:HRS)は、HTTPプロトコルにおけるセキュリティ脆弱性を利用した攻撃手法である。これは、HTTPプロキシサーバのチェーン内にある複数のHTTPサーバ実装間において、Content-LengthヘッダとTransfer-Encodingヘッダの解釈に不一致があることを利用する[1][2]。共通脆弱性タイプではCWE-444に分類される。
Transfer-Encodingヘッダは、HTTPリクエストのボディをどのように解釈するかという指示を定義するものであり、この攻撃において一般的かつ不可欠な指示はチャンク形式転送エンコードである[3]。Transfer-Encodingヘッダが存在する場合、Content-Lengthヘッダは省略されることになっている[3]。Content-Lengthヘッダも同様の役割を果たすが、構文が異なり、ヘッダ自体の値としてボディのサイズをバイト単位で指定する[4]。悪意のあるHTTPリクエストにこれら両方のヘッダが含まれている場合、フロントエンドサーバまたはバックエンドサーバがリクエストを誤って解釈することで、不正なクエリを防止するためのセキュリティ機能をバイパスしてしまう脆弱性が発生する[5]。