×
セキュリティ

SQLインジェクションの解説(基本情報技術者シラバス用語)

SQLインジェクションとは

SQLインジェクションとは、データベースと連携しているWebサイトの入力フォーム(ログイン画面や検索窓など)に、開発者が意図しない悪意のあるプログラム(SQL文)を注入(インジェクション)することで、データベースを不正に操作する攻撃手法です。Webアプリが入力された文字列を適切にチェックせずにそのままデータベースへの命令(SQL)の一部として組み立ててしまう脆弱性がある場合に発生します。この攻撃を受けると、データベースに保存されているIDやパスワードが盗まれたり、データが消去・改ざんされたりする恐れがあります。

具体例

ログイン用のID入力欄に「' OR '1'='1」という、常に正しい(真となる)条件を示すSQLの特殊な文字列を入力することで、パスワードを知らなくても認証処理をスルーし、他人のアカウントで勝手にログインできてしまう被害事例。