Learning.
SQL インジェクション - Server
SQL インジェクションとは
Web アプリケーションの脆弱性を利用し、意図しない SQL を実行してデータベースを不正に操作する攻撃。
injection : インジェクション
注入
攻撃による発生しうる脅威
データベースに蓄積された非公開情報の閲覧
データベースに蓄積された情報の改ざん、消去
認証回避による不正ログイン
ストアドプロシージャ等を利用した OS コマンドの実行
対策方法
SQL 文の組み立ては全てプレースホルダで実装する。
SQL 文の組み立てを文字列連結により行う場合は、エスケープ処理等を行うデータベースエンジンの API を用いて、SQL 文のリテラルを正しく構成する。
ウェブアプリケーションに渡されるパラメータに SQL 文を直接指定しない。
エラーメッセージをそのままブラウザに表示しない。
データベースアカウントに適切な権限を与える。