SQL Injection

提供: セキュリティ
2013年5月6日 (月) 01:40時点におけるDaemon (トーク | 投稿記録)による版

移動: 案内検索
スポンサーリンク


SQL Injectionとは、意図しない SQL 文を入力され、データの改ざん、漏洩、破壊などを行う行為です。

読み方

SQL Injection
えすきゅーえるいんじぇくしょん
SQL インジェクション
えすきゅーえるいんじぇくしょん


概要

アプリケーションが想定しない SQL 文を実行させられる。 SQL 文を挿入されることにより、データベースを不正の操作する攻撃手法のこと。

脆弱性問題の多くは、SQL Injection であるという報告があります。

被害

  • 情報漏えい
  • 情報の改ざん
  • システムコマンドの実行
  • 顧客個人情報の管理に、RDB が利用されることが多く、攻撃の対象となり易い。
  • 確実な対応がなされてない場合、クレジットカード情報などの情報が漏洩する。

対策

  • プログラム外から入力を元にSQL文を組み立てる場合は、prepqred statement / プレースホルダ を利用して下さい。

セカンドオーダーSQLインジェクション

セカンドオーダーSQLインジェクションは、データベースなどにストアされたデータを用いて、 prepared statement などを使わずに、SLQ文を組み立てたときに発生するSQL_Injectionのことです。 データベースから読み込んだデータをSQL文で利用する場合にもprepared statement が必要です。

SQL Injection のタイプ

  • Union Query based
  • System Stored Procedure
  • End of Line Comment
  • Tautology
  • Illegal/Logically Incorrent Query
  • SQL Injection Error Based
  • SLQ Injection Blind

関連情報




スポンサーリンク