SQLインジェクション脆弱性を狙った大規模な攻撃が繰り返し行われ、数万から数十万ページが改竄される事件が何度も発生しています。SQLインジェクションは簡単に対策できる脆弱性ですが、未対策のアプリケーションが多く利用されています。外部からの脆弱性の検出も容易であるため、現在でもWebアプリケーション脆弱性の代表的存在です。 SQLインジェクション脆弱性が無くならない理由には以下のようなものが考えられます。 過去のコードやアプリケーションの再利用 基本的なセキュリティ知識不足 セキュアコーディングプラクティスの未実施 コード監査の不在 SQLインジェクション脆弱性の発見だけを目的にコード監査を行うことはあまりありませんが、SQLインジェクション脆弱性のコード監査は比較的簡単です。MySQLモジュールまたはPostgreSQLモジュールを利用している場合を例に紹介します。 本題に入る前にSQLイ