一覧に戻る
Lv.2

SQLインジェクション

SQL Injection

Webサイトの隙を突き、データベースを不正に操作するサイバー攻撃の手口。

簡単に説明すると

SQLインジェクションは、Webサイトの入力画面などに悪意のある命令を入力して、裏側にあるデータベースを不正に操作する攻撃手法のことだよ。 攻撃者は入力フォームに特別なプログラムの文字を混ぜて送信し、本来は見られない個人情報を盗み出したり、データを勝手に書き換えたりするんだ。多くのWebサイトがデータベースと連携して動いているため、対策を怠ると深刻な情報漏えいにつながる危険があるんだよ。

名前のヒミツ

SQL Injection(エスキューエルインジェクション)は、データベースを操る言葉「SQL」と、英語で「注入」や「注射」を意味する「インジェクション」を組み合わせた言葉だよ。まるでWebサイトに悪い薬を注射するようなイメージから名付けられたんだ。日本語では「SQL注入」とも呼ばれているよ。

くわしく見てみよう!

SQLインジェクションとは、Webサイトの入力フォームなどにデータベースを操作する悪意のある命令を送り、裏側のデータベースを不正に操作するサイバー攻撃のことだよ。
Webサイトに用意された検索窓やログイン画面といった入力欄の隙を狙って行われる攻撃なんだよ。

かんたんに言うと、サイトのプログラムが想定していない不適切な文字を入力して、システムを勘違いさせる手法だよ。
例えば、IDやパスワードを入力する画面で、特定の記号と常に正しいという意味の命令を混ぜて入力することがあるんだ。
すると、正しいパスワードを知らなくても、システムがだまされてログインを許可してしまうんだよ。

この攻撃を受けると、データベースに保存されている個人情報やクレジットカード情報が盗まれる危険があるよ。
それだけでなく、データを勝手に消されたり、Webサイトの中身を書き換えられたりすることもあるんだ。
そのため、Webサイトを作る開発者は、入力された文字をただの文字として扱い、命令として実行させない仕組みを組み込んで対策しているよ。