SQL Injection(SQLインジェクション:SQLの挿入)

今回の学習のテーマは、SQL Injection(SQLインジェクションSQLの挿入)です。
復習&理解を深めます。

こちらを参考に学習。
うーん@ITはすばらしい情報ばかりだ。


SQLインジェクションとは?

Webサイトを構成する要素の1つにデータベースがある。Webアプリケーションからデータベースを操作するために使われるのがSQLで、このSQLを偽造してデータベースの操作をしてしまおう、というのがこの攻撃だ。プリケーションの裏にデータベースがあり、データベースと連携してサービスを行っているシステムが攻撃対象となる。データベースに含まれるデータすべてを奪われる、削除されるなどの被害が想定される。

うーん。恐ろしい攻撃です。

ということで、仮にフォームを作って、記事に書いてある現象を確認してみる。
実際にやってみると、やっぱり実感がわく。うーん。怖い攻撃です。とっても簡単だし。


対策の1つは、ごく当たり前の「入力値チェック」と「サニタイジング」だ。
注意すべき文字列は、「 SQL92での特殊文字 」 だ。
具体的に言うと