HTTPリクエストヘッダーとは

まさ
まさ

安全確保支援士の問題ではよく聞く単語ですが、実はよく分かっていません。

やす先生
やす先生

SC試験では見ない年はないというくらい頻出する内容じゃから、
一緒に勉強していこう。

HTTPリクエストとは

HTTPリクエストについてはこちらのサイトで分かりやすく記載されていますので、ご確認ください。

上記でも説明がある通り、HTTPリクエストの中央部に位置するのがHTTPリクエストヘッダです。

HTTPリクエストヘッダーとは

HTTPリクエストヘッダーはHTTPリクエストの構成要素の1つなのですが、どの部分を指すのかを見てみましょう。

GET /cgi-bin/submit.cgi?user=;cat%20/etc/passwd HTTP/1.1
Accept: */*
Accept-Language: ja
UA-CPU: x86
Accept-Encoding: gzip,deflate
User-Agent: ***
Host: test.example.com
Connection: Keep-Alive

令和4年春期 安全確保支援士 午前Ⅱ 問1 より抜粋ー
HTTPリクエストラインは下記の部分

GET /cgi-bin/submit.cgi?user=;cat%20/etc/passwd HTTP/1.1

今回はリクエストラインについては放置しておきます。(ここに脆弱性が隠れているのですが)

HTTPリクエストヘッダは下記の部分

Accept-Language: ja
UA-CPU: x86
Accept-Encoding: gzip,deflate
User-Agent: ***
Host: test.example.com
Connection: Keep-Alive

HTTPリクエストヘッダの構成要素は沢山ありますが、ここでは重要なもの(=試験によく出るもの)を抜粋して確認しておきましょう。

ヘッダーフィールド役割
Acceptメディアのタイプを指定する
Accept-Language利用可能な言語を指定ja
UA-CPUユーザーのCPUを送信するx86
Accept-Encoding利用可能なエンコーディング処理方法を指定gzip,deflate
User-Agentユーザーの利用しているOSやハード情報を送信するMac,iPhone
バージョン
Hostリクエスト先のサーバー名を指定。DNS名で記載test.example.com
Connectionレスポンス後のTCP接続の継続有無Keep-Alive,
none

Webサーバーへの攻撃の多くはHTTPリクエストラインの脆弱性によるのが多いようですが、ヘッダーフィールドについても少しずつ理解を深めていければと思います!

コメント

タイトルとURLをコピーしました