検索
連載

XSSは知ってても、それだけじゃ困ります?もいちどイチから! HTTP基礎訓練中(1)(2/3 ページ)

Webアプリケーションのセキュリティを取り巻く環境は大きく変化してきている。攻撃は複雑さを増し、複数の脆弱性を利用する攻撃も増えている。しかし、基本を理解せずに個別の脆弱性について対応しても、表面的な対策となってしまう。本連載では、Webアプリケーションのセキュリティにおいて理解しておく必要のある基本技術について解説を行う。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

コマンドプロンプトで華麗にWebサーフィン

 クウは、何をするかよく分からなかったが、いわれるままにコマンドプロンプトを立ち上げた。

                     @IT messenger v1.20

ジュン :じゃあ、試しに僕のところのWebサーバでやってみようか。このコマンドを打ってみて【注1】

【注1】

このようなテストは自分の管轄外にあるサーバで実施しないようにしてください。



 クウはいわれたとおりにコマンドを打ってみた。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 クウがジュンに教えてもらったコマンドは、www.example.comのWebサーバに対して、HTTPリクエストを送信するコマンドである。WebサーバはHTTPリクエストを受け取り、その応答はHTMLのコンテンツを出力したものとなる。

図1 HTTPの基本
図1 HTTPの基本

                     @IT messenger v1.20

クウ わー! 何かずらずらっと出てきましたよ。HTMLタグっぽいのがたくさん!

ジュン いまのが、一番シンプルなHTTPかな。ブラウザに「http://www.example.com/」って入れたのと大体同じだよ【注2】

【注2】

厳密には、後述するようにブラウザがいくつかのヘッダを自動で補完する。


クウ え。全然違うことしたように見えますけど……。

ジュン ブラウザは、アドレスバーに入力されたURLを解釈して、いま入力したような形に変換してくれてるんだよ。

クウ へぇー! そうなんですか! 初めて知りましたー! 私はてっきり、「http://www.example.com/」という形のままサーバまで行ってるものだと思ってました。

ジュン きっと、これを理解しているのとしていないのとでは、セキュリティ意識がだいぶ違うと思うよ。Webアプリを作るなら、これくらいは考えなくてもできるくらいになってた方がいいかな。じゃあ、次は実際にブラウザが送っている内容を見ながら説明しよう。せっかくだから、GETパラメータを含んだ、「http://www.example.com/test.html?param1=value1¶m2=value2」っていう形にしようか。


HTTPはリクエストから始まる

 ブラウザから実際に送信されるメッセージは例えば以下のようになる。このメッセージは「HTTPリクエスト」と呼ばれる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 この中で、1行目は、リクエストライン(Request-Line)と呼ばれ、

「メソッド リクエストURI HTTPバージョン」

というようにスペースで区切られた3つの部分に分かれる。それぞれ、「メソッド」はGETやPOSTといったもの、「リクエストURI」はURL中の絶対パス以降の部分(この例では、「http://www.example.com」以降の部分。ただし、プロキシとして動作するときのように別の形となる場合も存在する)、HTTPバージョンには、通常「HTTP/1.0」や「HTTP/1.1」といったバージョンが入る。

 2行目以降は、リクエストヘッダと呼ばれ、

 「ヘッダ名: ヘッダ値」 

という形で情報が記載される(特定のヘッダではヘッダ値について形式が定義されているものもある)。そして、GETメソッドの場合、最後に改行のみの行を送ることでHTTPリクエストが終了となる。これらの詳細な仕様についてはRFC2616などのHTTP関連のRFCを参照いただきたい。

                     @IT messenger v1.20

クウ なるほど……。ブラウザの裏側ではこんなのが送られているんですね。これ、アドレスバーにURL入れたときのGETの動作だと思うんですけど、FORMとかで入力するPOSTで送られる場合はどうなるんですか?

ジュン POSTの場合はね……。


Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. ランサムウェア攻撃を受けた企業、約6割が「サプライチェーンのパートナー経由で影響を受けた」 OpenText調査
  2. 長続きする高度セキュリティ人材育成の秘訣を「第19回情報危機管理コンテスト」から探る
  3. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  4. OpenAIの生成AIを悪用していた脅威アクターとは? OpenAIが脅威レポートの最新版を公開
  5. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  6. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  7. 人命を盾にする医療機関へのランサムウェア攻撃、身代金の平均支払額や損失額は? 主な手口と有効な対策とは? Microsoftがレポート
  8. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  9. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  10. AIチャットを全社活用している竹中工務店は生成AIの「ブレーキにはならない」インシデント対策を何からどう進めたのか
ページトップに戻る