サイバー攻撃手法のひとつであるSQLインジェクションについて紹介します。
SQLインジェクションとは
SQLインジェクションは、データベースを利用しているWebサイトで、SQLに影響を及ぼす入力を行うことでプログラムの誤動作や不正にデータを取得するなどの攻撃のひとつです。
例
SELECT * FROM 顧客 WHERE 名前 = :名前:名前は入力値
本来であれば、いかのように:名前に太郎などの文字列を入力する。
SELECT * FROM 顧客 WHERE 名前 = '山田'以下のようにデータの取得が可能である
SELECT * FROM 顧客 WHERE 名前 = '' OR 'name' = 'name'この場合は、'name'='name'の結果が真(true)になるため、顧客テーブルの全データを取得できます。
対処方法
対処方法は、入力の内容を文字列として扱うことで、SQL文の検索条件の条件値として対応します。
'' OR 'name' = 'name' はあくまでも文字列として扱います。
まとめ
サイバー攻撃手法のひとつであるSQLインジェクションについて紹介しました。

コメント
コメントを投稿