前回に引き続き、Think IT上の連載「SQLインジェクション大全」の第4回:ケース別、攻撃の手口を読んで感じたことを書きたい。 まず、この記事は以下のような書き出しから始まっている。 本記事は、システムを防御するにはまず敵を知らなければならない、という意図の下に、攻撃手法を紹介する。 dfltweb1.onamae.com – このドメインはお名前.comで取得されています。 この趣旨に異論があるわけではないが、しかしこの表現は誤解を生みやすいものだと思う。 というのは、「敵」(攻撃方法)を知ったからと言って、防御の方法が導き出せる訳ではないからだ。例えば、開発者が「最近のSQLインジェクションの自動化攻撃にはT-SQLのDECLARE文が用いられる」という情報を得て独自に対策を考えた場合、DECLAREという単語をチェックしてエラーにしたり、単語を削除することを考えがちだと思う。現に