連載
» 2005年12月22日 00時00分 公開

星野君のWebアプリほのぼの改造計画(3):Webアプリ、入力チェックで万事OK? (3/5)

[杉山俊春, Illustrated by はるぷ,三井物産セキュアディレクション株式会社]

星野君、HTTPリクエストを“ハック”する

星野君 「おおっ」

 ツールにはHTTPのリクエストが表示された。GET/POSTパラメータはもちろん、Referer、User-Agent、CookieなどWebアプリケーションを作ったことのある星野君にとっては見慣れた名前のものが並んでいた。

Burp proxyでHTTPリクエストを表示

 よく利用されているCookie、POST、GETのパラメータだけを表示することもできるようだ。これらを編集して送信することでWebアプリケーションのテストを簡単に行うことができる。各パラメータは、「パラメータ名」と「パラメータ値」のセットになっていて非常に理解しやすい形になっていた。

表示形式をパラメータに切り替え

星野君 「(Cookieとかってこういうふうに送られてたんだ……。これなら結構簡単に検査ができそうだ)」

 手始めにWebブラウザからアクセスを行い、入力欄にいくつかの検査パターンを試してみた。検査パターンといっても、星野君が知っているのは簡単なクロスサイトスクリプティングと簡単なSQLインジェクションくらいのものだったが……。

 検査パターンを入力して確認・送信ボタンを押すと、JavaScriptによって入力チェックが行われ、「入力の形式が正しくありません」というダイアログが表示された。きちんと対策がされているように見える。

 次に、検査補助ツールを使って値を検査パターンに書き換えて送信してみた。するとどうだろう。問い合わせ入力画面で書き換えた内容が確認画面でそのまま表示され、そこで任意のJavaScriptを動作させることができてしまった。クロスサイトスクリプティングの脆弱性が存在することになる。何度か試してみた結果、ほとんどすべてのパラメータで同様の現象を確認できた。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。