SQLインジェクション
SQL Injection
えすきゅーえるいんじぇくしょん
他の資格での定義
Webアプリケーションの入力欄に不正なSQL文を挿入し、データベースを不正に操作する攻撃手法。情報の漏えいや改ざん、データの削除などを引き起こす。
Webアプリケーションの入力フォームなどからSQL文を挿入し、データベースを不正に操作する攻撃。データの漏えい、改ざん、削除などの被害をもたらす。入力値のバリデーションやプレースホルダの使用で対策する。
Webアプリケーションの入力フォームなどに不正なSQL文を注入し、データベースを不正に操作する攻撃手法。データの窃取、改ざん、削除、認証回避などの被害を引き起こす。プレースホルダの使用やエスケープ処理で対策する。
Webアプリケーションの入力値にSQL文の断片を挿入し、意図しないSQL文をデータベースに実行させる攻撃手法。データの不正取得、改ざん、削除が可能になる。プレースホルダ(バインド変数)の使用やエスケープ処理が主な対策。
Webアプリケーションなどの入力フォームに不正なSQL文を挿入し、データベースを不正に操作する攻撃手法。バインド変数(プレースホルダ)の使用、入力値の検証、最小権限の原則の適用などで対策する。
関連キーワードの用語
Webアプリケーションの脆弱性を利用して、悪意のあるスクリプトをWebページに埋め込む攻撃。反射型、格納型、DOMベースの3種類がある。対策として出力時のHTMLエスケープ、Content-Security-Policy(CSP)ヘッダの設定、入力値の検証がある。
ログイン済みの利用者に対し、攻撃者が用意した罠のWebページを経由して、利用者の意図しないリクエストを正規のWebサイトに送信させる攻撃。対策としてCSRFトークンの埋め込みと検証、SameSite属性付きCookieの使用、Refererヘッダの検証がある。
Webアプリケーションの入力値を通じて、サーバ上でOSのコマンドを不正に実行させる攻撃手法。PHPのexec関数やsystem関数など、外部コマンドを実行する機能への入力値が適切にサニタイズされていない場合に発生する。対策としてコマンド実行関数の使用回避、入力値の厳格な検証がある。
Webアプリケーションのファイルパス指定の脆弱性を利用して、「../」などの相対パス表記により、本来アクセスが許可されていないディレクトリやファイルに不正にアクセスする攻撃。対策としてパス名やファイル名をパラメータとして受け取らない設計、入力値のバリデーションがある。
HTTPレスポンスヘッダに改行コードを含む不正な値を挿入し、レスポンスヘッダやボディを操作する攻撃。Cookieの不正設定、偽のレスポンスボディの挿入、キャッシュ汚染などが可能になる。対策として改行コードの除去や外部入力値のヘッダへの直接出力の回避がある。
Lockheed Martin社が提唱したサイバー攻撃の段階モデル。偵察、武器化、配送、攻撃、インストール、遠隔操作(C&C)、目的達成の7段階で攻撃を分析し、各段階での防御策を検討する。