SQLインジェクションとはSQLデータベースの不備を攻撃する手法の一つ。
SQL文を受け付けるアプリケーションに対して、クライアントからの細工した要求を行い、意図しない結果を返させる。
主に Webアプリケーションで入力チェックが甘いデータベースアプリケーションが標的となる。
例としてパスワード入力フォーム (passfield$とする) に対して
where password='passfield$';
をサーバ側で組み立てているとする。
クライアントからパスワード入力フォームに「'or'A'='A」 を入力することにより
where password=''or'A'='A';
となり、すべての条件が当てはまることとなる。(パスワードが空からあるいは A=A の場合となり、100%該当する)
よってSQLサーバ側は意図しない結果(すべての結果)を返すこととなる。
[情報処理 用語集 トップへ]
[FAQ CENTER トップ]