SQLインジェクション対策:種類と攻撃手法をわかりやすく解説

SQLインジェクションの主な種類は次のようになります:

  1. SQLインジェクション: 悪意のあるSQL文を入力することによって、プログラムがエラーメッセージや例外を返すようにし、データベースの構造やデータを取得する。
  2. 盲目なSQLインジェクション:具体的なエラーメッセージなしに、プログラムの返り値を判定してデータを取得する。
  3. 時間に基づくブラインドSQLインジェクション:プログラムの返り値の時間を利用して、インジェクションが成功したかどうかを判断し、データを取得する。
  4. 1つのリクエストで複数のSQL文を実行する堆積型のクエリインジェクション。
  5. 二次注入:前回の注入結果を活用して次回の注入を行う。
  6. SQL文中において、UNIONキーワードを使用して、2つのクエリの結果を結合することで、連結クエリインジェクションが発生します。
  7. ストアドプロシージャインジェクションは、ストアドプロシージャ内のパラメータを変更することで実行されます。
  8. エラーログインジェクション:エラーを誘発し、エラーログに記載された情報を見ることでデータを取得します。
  9. SQL インジェクションを利用して、悪意のあるSQL ステートメントを作成してデータベースのエラーメッセージを引き起こし、データを取得する。
  10. ブール型ブラインドSQLインジェクションを使用して、真偽を判断してデータを取得します。
bannerAds