連載
» 2006年09月23日 00時00分 公開

星野君のWebアプリほのぼの改造計画(10):マルチバイトの落とし穴 (1/3)

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

ブラインドSQLインジェクションも不必要情報の脆弱性も覚えた星野君。だけど覚えないといけないことはまだまだありそうです。今日も赤坂さんといっしょにお勉強。

「はい、これでクロスサイトスクリプティングやってみせて」赤坂さんがそういって見せてくれた勉強用のWebアプリケーション、あれ、見たところ完ぺきなんですが……


高橋さん 「どうよ?」

星野君 「え……。どうって何がですか?」

 高橋さんは唐突に会話を始めることが多い。大抵の場合、星野君には何の話か分からない。

高橋さん 「こないだ赤坂さんとWebアプリの検査したでしょ。どうかなって」

星野君 「どう……っていうか、なんか難しい感じでした。簡単なのはすぐに見つけられると思うんですけど……」

高橋さん 「ふーん……」

 高橋さんはしばらく考え込んだ後、赤坂さんに声を掛けた。

高橋さん 「ねぇ、赤坂さん。いまって暇?暇だよねー?」

赤坂さん 「いや、仕事してますけど……」

高橋さん 「それ、明日でいいよ。ちょっとさ、今日、星野君にWebアプリの検査教えてあげてよ。勉強になるしさ」

赤坂さん 「えー。めんどくさーい」

 赤坂さんは露骨に嫌そうな返事をした。

高橋さん 「……ということで、星野君」

星野君 「はい」

高橋さん 「今日は赤坂さんにいろいろ教えてもらってねー。俺、今日一日中会議だからー」 そういうと高橋さんはノートPCを手に部屋を出て行った。

ノートPCを小脇に抱えて退室する高橋さん

はい、クロスサイトスクリプティングやってみせて!

赤坂さん 「まったくもう。さて、何から教えよっか」

星野君 「えっと、じゃあ、基本的なところから……」

赤坂さん 「うん。そうだね。一番難しそうなところからいこうか♪」

星野君 「ええ?!」

赤坂さん 「ちょっと待ってね。いま、勉強用の簡単なWebアプリ作るから〜」

 高橋さんに半ば無理やり押し付けられたかのように見えたのだが、赤坂さんは案外気にしていない様子で、むしろ少し楽しそうな感じで作業を始めた。そして赤坂さんは、1分もしないうちに勉強用のWebアプリケーションを作り終え、星野君に課題を出した。

赤坂さん 「はい、これでクロスサイトスクリプティングやってみせて」

 赤坂さんが作ったWebアプリケーションは非常に簡単な作りのものだった。入力テキストフィールドが2つ存在し、送信ボタンを押すとテキストフィールドに入力した値が反映されるものだ。

<form>
テキスト1: <input type=text name=text1 value="<?= htmlspecialchars($_GET{'text1'}) ?>"><br>
テキスト2: <input type=text name=text2 value="<?= htmlspecialchars($_GET{'text2'}) ?>"><br>
<input type=submit value="送信">
</form>
赤坂さんの作成したWebアプリケーションのソースコード

星野君 「えっと、これって……。無理じゃないですか?」

赤坂さん 「うん。ちゃんとHTMLエンコードされてるから、普通に考えたら無理だね」

星野君 「無理だねって……」

赤坂さん 「『普通に』考えたらね」

 そういわれ、星野君はしばらく考えてみたが、まったく分からなかった。分からなかったので、ソースコードを見せてもらったのだが、余計に分からなくなった。

星野君 「(まこと先輩だったらできたりするのかなぁ……)」

赤坂さん 「できるんじゃない?」

星野君 「え??」

赤坂さん 「いま、独り言が漏れてたよ」

 赤坂さんはなぜか妙にニコニコしている。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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