search
LoginSignup
3

posted at

HTTPヘッダーインジェクション メモ

  • Webアプリの脆弱性を利用した攻撃手法の一つであるHTTPヘッダーインジェクションについてメモする。

概要

  • フォームやURLで入力するリクエストパラメータやクエリパラメータを、想定しないデータに改変して送信し、HTTP レスポンスヘッダに新たなヘッダ要素を追加したり、レスポンスボディに任意の文字列を追加する攻撃

  • 例:改行コードによる任意のヘッダー設定

    • HTTPリクエスト

      http://example.com/account/aaa?redirect_url=http://example.com/account/login%0D%0ASet-Cookie:+SSO_ID=XYZ123
      
    • HTTPレスポンス

      HTTP/1.1 302 Found
      Date: Sun, 18 Jun 2021 21:34:35 GMT
      Location: http://example.com/account/login
      Set-Cookie: SSO_ID=XYZ123
      

      ※改行コード(%0D%0A)により、以降の文字列を次の要素として扱われてしまい、Set-Cookieヘッダが有効になる。

    http_header_injection.png

想定される脅威

  • 利用者のブラウザ上での偽情報を表示、任意のスクリプト埋め込み
  • 任意のCookie発行※セッションIDの固定

対応策

  • 外部からのパラメータをそのまま使用しない、HTTPレスポンスヘッダに出力しない実装/ライブラリ使用を行う。
    • 使用する場合は、エスケープなどを行う。

参考情報

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3