「クロスサイトスクリプティングの名称と種類」

この記事の前の記事批判してみたのですが、大垣氏からの反応が無くてさみしいので粘着してみる事にします。

と言っても、今回の記事は XSS の説明をしているだけなので それほどツッコむ点は無いのですが。やや難癖付け気味。


まず一読して気になるのは、「第7回 いまさらながらクロスサイトスクリプティングの基礎の基礎」との内容の重複。これだったら第7回に今回の内容を載せておけばいいじゃないかと思ってしまいます。

月一ペースの連載で この進み方はどうなんでしょう。第7回の掲載から二ヶ月以上が経つというのに、この連載だけでは未だに XSS に実際どう対処したらいいのか判らぬままです。

もっと深い部分から理解させようという連載(例えば「XSSは知ってても、それだけじゃ困ります?」などは そういう連載になりそうな気がする。)ならば時間をかけてもいいでしょうが、この連載がそうであるとはちょっと思えません。表面的な「対策」を教えるだけであれば、やたらに話を引っ張らないで早く「対策」を教えて下さい。説明一回 対策一回の 計二回くらいで充分です。


スクリプトインジェクションはほかのインジェクション攻撃と同じく,完全なバリデーションとエスケープで防御できます。

完全なバリデーションってなんなんでしょうかねぇ。未だにその実体が見えないので何とも言えません。

ほかのインジェクション攻撃と同じく、と言っているので、以前の SQL インジェクションに関する記事(第5回 / 第6回)の中に「完全なバリデーション」とやらが載っているのかと思って読んでみましたが、残念ながらというか思った通りというか、そんなものの事は載っていませんでした。それどころか、仮にHTMLフォームなどからの入力時に完全なバリデーションを試みていても,入力時のバリデーションに不具合があるケースは多くあります。とか言っているんですが。「完全なバリデーション」、駄目じゃん。というか不具合があるのに「完全なバリデーション」って何?(「フォームからの入力値には『完全なバリデーション』を行ったが、それ以外の入力値のバリデーションを忘れている」って意味でしょうか。)


DOMベーススクリプトインジェクション,ローカルスクリプトインジェクションとも呼ばれるタイプの脆弱性です。

一体大垣氏は何を見てこの記事を書いているんでしょうか。

"DOM Based XSS" / "DOM Based Cross Site Scripting" なら引っかかるんですけどね。記事の前半で「『クロスサイトスクリプティング』という名称は解りにくい。『スクリプトインジェクション』の方が適している。」と主張しているので、「DOM Based XSS」を「DOMベーススクリプトインジェクション」と呼ぶ事自体は別にまぁ自然な話ですが、何故今まで一度も使われていない単語を とも呼ばれると言っちゃうんでしょう。


ところでこの連載、「なぜPHPアプリにセキュリティホールが多いのか?」と言いつつ PHP 関係無い記事の方が多いのはツッコむところですか?