Webアプリケーションを少しでもかじったことのある人なら、裏でDBが動いているシステムの場合、必ずSQL操作言語である「SQL」が実行されていることは知っている人も多いはずだ。検索、登録、削除といったHTMLのフォーム上の操作も最終的にはSQLの実行に落とし込まれるわけである。
こうした仕組みを知っていると、Webアプリケーションの入力データとして不正なSQL文を渡すという不正アクセスの手口もすぐに思いつく手法である。これがSQLインジェクションである。クロスサイトスクリプティングと並んで代表的なWebアプリケーションの脆弱性の一つである。SQLでは特殊な意味を持つ「'」などの文字を無効化するプログラムを書いておくことが対策の第一歩である。
かなり以前から知られている手口にも関わらず、こうした対策がなされていないサイトはまだかなりあるようだ。
昨年起きたカカクコム改竄事件、Ozmallの不正アクセス事件、ワコールのECサイト不正アクセス事件などもSQLインジェクションによるものだったことが明らかになっている。