【セキュリティ診断】「Blind SQLインジェクション」の脅威と対策
概要OWASP ZAPなどの脆弱性診断ツールを実行した際、「Advanced SQL Injection (boolean-based blind)」という項目が検出されることがあります。本記事では、この「Blind(ブラインド)型」のSQLインジェクションがどのような攻撃手法なのか、その仕組みと根本的な対策、そして診断ツール利用時によく遭遇する「誤検知」の理由について解説します。
【起】見えないデータを盗み出す「Blind SQLインジェクション」
SQLインジェクションは、Webアプリケーションの入力フォームなどを通じて悪意のあるSQL文を注入し、データベースを不正に操作する攻撃です。通常、この攻撃が成功すると、画面上にデータベースのエラー文や、本来見えないはずの他人のデータがそのまま表示されます。
しかし、セキュリティ設定によってエラーメッセージが非表示化されていたり、検索結果が直接画面に出力されないような設計のシステムもあります。このような「攻撃者から結果が直接見えない(Blind)」状態であっても、データを抜き取る手法が存在します。それが「Blind SQLインジェクション」です。
【承】「はい」か「いいえ」でデータを特定する攻撃の仕組み
Blind SQLインジェクションの中でも代表的なものが「Boolean-based(真偽値ベース)」と呼ばれる手法です。
攻撃者は、データベースに対して「パスワードの1文字目は『A』ですか?」といった「True(真)」か「False(偽)」で判定できる条件式を注入します。
データそのものは画面に表示されなくても、システムからの応答
0