速報

SageMaker SDKの既定バケットに所有者確認漏れ|成果物の改変を防ぐ更新と点検

CATEGORY

SQLインジェクションとは

IT用語

入力値にSQLの一部を紛れ込ませ、データベースへの命令を不正に書き換える攻撃。情報の漏えいや改ざんにつながる。

SQLインジェクションは、入力値をそのまま SQL 文に組み込んでいるアプリケーションに対して、攻撃者が入力欄や URL のパラメータに SQL の一部を紛れ込ませ、データベース への命令を不正に書き換える攻撃です。

仕組み

例えば、検索語を文字列の連結で SQL 文に組み込んでいると、入力に引用符や SQL の構文を含めることで、本来の条件を無効にしたり、別の命令を付け足したりできてしまいます。

起きる被害

  • 会員情報などデータベースの内容の漏えい
  • データの改ざん・削除
  • ログイン認証の回避
  • 環境によっては、サーバー上でのファイル操作やコマンドの実行

対策

  • プレースホルダ(プリペアドステートメント)を使い、入力値を SQL の構文として解釈させない。WordPress では $wpdb->prepare() を使う
  • データベースのアカウントに必要最小限の権限だけを与える(最小権限)
  • エラーメッセージに SQL やテーブルの情報を出さない
  • WAF は補助的な対策として使う(アプリケーションの修正の代わりにはならない)

関連用語

エスケープ、WAF、コマンドインジェクション、OWASP

SQLインジェクションが出てくる記事

IT用語集の一覧へ

キーワードから探す

スポンサーリンク