情報セキュリティ用語集 |
SQLインジェクション
SQLインジェクション(SQLはStructured Query Languageの略)とは、ウェブ上で管理されるデータベースに攻撃を仕掛けるための一つの手法。攻撃する側はウェブの脆弱性に対して、SQLを用いたコマンドを注入(インジェクション)することで、データの書き換え、抜き取りなどさまざまな不正アクセスを行う。
PHP用語集 |
SQLインジェクション
脆弱性を含んだスクリプトに対して、パラメータに不正なSQL文を渡すことでデータベースを操作する攻撃。この攻撃をされると、通常ではアクセスできないようなテーブルのデータを出力したり、データの消去、改ざんなどの被害を受ける。
$user_id = $_POST['user_id'];
$sql = "SELECT * FROM t_customer WHERE user='$user_id'";
';DELETE FROM t_customer ;
という値を渡されると、t_customerテーブルの全データが消えてしまう。
この脆弱性を回避するためには、ユーザからの入力値に対してエスケープ処理を施す、などの適切な処理が必要となる。PHPには既に、多くのデータベース関数の中に適切なエスケープを施す関数が用意されている。
関連Webサイト
IT用語辞典バイナリ |
SQLインジェクション
別名:ダイレクトSQLコマンド・インジェクション
【英】SQL injection
SQLインジェクションとは、Webサイトにリクエストを送るHTTPのパラメータにSQLの命令を含ませることで、SQLを採用しているデータベースに直接アクセスして不正操作を行う攻撃手法のことである。インジェクションとは「注入」「挿入」といった意味である。
SQLインジェクションを利用することによって、外部の第3者がデータベースの情報にアクセスし、情報の不正閲覧や改ざんを行うことができるようになってしまう。データベースのテーブルやフィールドの項目名が指定できれば操作できてしまうため、比較的ポピュラーな攻撃手法とされている。
| ネットワーク攻撃: | リモートアクセス型トロイの木馬 論理爆弾 SYNフラッド攻撃 SQLインジェクション サイバーテロ サイバーマフィア サイバーインテリジェンス |
ウィキペディア |
SQLインジェクション
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/11/18 04:01 UTC 版)
SQLインジェクション(英: SQL Injection)とは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性のこと。
SQLに別のSQL文を「注入 (inject)」されることから、「ダイレクトSQLコマンドインジェクション」とも呼ばれる。
- ^ “Blind SQL Injection white paper”. 2011年7月6日閲覧。
- ^ “MySQL 5.1 リファレンスマニュアル 8.1.1 文字列”. 2011年7月6日閲覧。
- ^ “異なる文字集合への変換がぜい弱性につながる”. 2011年7月6日閲覧。
- ^ コーエーテクモホールディングス株式会社 - 不正アクセスによるお客様個人情報漏洩のお詫びとご報告、2010年7月20日。
- ^ JPCERT / CCによる注意喚起。
- ^ Internet Watch - SQLインジェクションの復旧コスト、1億円超える事例も~IPAが報告書、2006年11月29日。
- ^ NRIセキュア - Webサイトのセキュリティ診断:傾向分析レポート2008、2008年7月28日。
- 1 SQLインジェクションとは
- 2 SQLインジェクションの概要
- 3 関連項目
SQLインジェクションに関係した商品