安全確保支援士の問題ではよく聞く単語ですが、実はよく分かっていません。
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
GET /cgi-bin/submit.cgi?user=;cat%20/etc/passwd HTTP/1.1
今回はリクエストラインについては放置しておきます。(ここに脆弱性が隠れているのですが)
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リクエストラインの脆弱性によるのが多いようですが、ヘッダーフィールドについても少しずつ理解を深めていければと思います!
コメント