【読み方】:エスキューエルインジェクション

「SQLインジェクション」とはデータベースを利用するWebサイト等のシステムの脆弱性を利用して、不正に情報アクセスをしようとする攻撃の一つである。

多くのWebサイトでは、顧客情報等のデータをデータベースに格納しており、
SQLというデータベースを操作する言語を用いてそれらのデータを管理している。

そのようなWebサイトをユーザーが利用する際は、
ブラウザ上の入力エリアに何らかの文字(検索語など)を入力し、
その入力文字を元にシステム側にてSQL文が実行され、
その実行結果がブラウザ上に表示される。

その際、通常はシステム側にて、入力された文字の値チェックや、
特殊文字を無効化する処理が実装されることが定石である。

しかし、そのようなセキュリティ対策が行われていないシステムの場合、
意図的にSQL文の断片を入力エリア等に格納することで、
システム側で実行されるSQL文の改ざんが可能になり、
そのため本来アクセス出来ないデータベース内の情報の取得や削除が可能になる。

なお、近年ではこの攻撃が周知されてきたため、
多くのWebサイトではプリペアドステートメントなどの手法を用いて有効な対策が行われている。