トップページ > コンテンツ > ネットワーク関連メモ > ネットワーク運用編 > セキュリティ関連 > SQLインジェクション

概要

ユーザーなどに入力をもとめるようなケースで、
悪意のあるユーザがスクリプトを書き込んだりすることを指す。

典型例

  1. 常に真となる構文にする。(ユーザID等を認証するSQL文) OR 'A' ='A'
  2. ;をつけることで、2つ目以降のSQL文を実行させる。本来実行されるSQL文; 悪意のあるSQL文
  3. ーー(コメント)を利用して、SQLを途中で終了させてしまう。
  4. UNIONを使って、関係ないテーブルの情報を抜き出す。

対策例

  • データベースのAPI等を用いて、サニタイジングする。
  • preparedStatementを利用する。

最終更新:2021年10月18日 19:30