スマートフォン用の表示で見る

SQLインジェクション

ウェブ

SQLインジェクション

しーくえるいんじぇくしょん

概要

 引数などのパラメタにSQL文を混ぜ込んでおき(インジェクション),プログラム内部でそのSQL文を実行させてしまう攻撃手法。

 ログインを突破したり、データ・データベースの削除やコンテンツの改ざんウイルスワームの埋め込み等)、情報の詐取など、被害はさまざま。管理者権限を奪取されることもある。

対策方法

  • 入力が許容される文字を制限する。
  • 特殊文字('、"等)をエスケープするなどして、入力文字列を無害化する
  • パラメータの指定方法を見直す(文字列の連結でSQL文を作成している場合は特に注意)
  • (言語にも拠るが)直接SQL文を作成せず、APIなどを用いる
  • ストアドプロシージャを使う。(PL/SQLなど)
  • 実行アカウントに不必要な権限を与えない(ロール・ユーザ管理)

別称

ダイレクトSQLコマンドインジェクション