IT用語入門:SQLインジェクション【不正な入力でデータベースを操作する攻撃】

PR
PR

PR

バナー

SQLインジェクションとは

SQLインジェクションは、Webアプリの入力欄にSQLの断片を混ぜ、想定外の命令をデータベースに実行させる攻撃です。結果として、データの閲覧・改ざん・削除やログイン回避が起こり、個人情報の漏えいにつながります。外部から届く入力が入口になります。

原因は、入力値を信頼してSQL文にそのまま連結する実装です。たとえば ‘ OR ‘1’=’1′ — のような文字列で条件をねじ曲げられることがあります。防ぐには、パラメータ化されたクエリ(プレースホルダ/バインド変数)で入力とSQLを分離するのが基本です。加えて、適切なエスケープや許可形式の検証、権限の最小化を行います。開発の全工程で「入力をそのまま信じない」設計を徹底しましょう。