アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
MSSQL (スコア:4, 興味深い)
キチンと行わないと非常にヤバイです。
他のDBは詳しくないのですが、MSSQLは拡張ストアドで
コマンド実行やCOMのインスタンス生成ができます。
さらにSQL文を区切らなくても平気で連続実行できてしまいます。
インジェクションを行えば、
select * from user where userId = '$ここに入力値$'
が、
select * from user where userId = '' sp_xxxxx(適当なストアド) select 1 where ''=''
みたいな感じで実行できてしまいます。
本来、ユーザIDが入力されるところで、
' sp_xxxxx(適当なストアド) select 1 where ''='
と、こんな感じで入力すれば何でもできてしまいます。
サニタイズの簡単なチェックとしては、
入力フォームで、「'」と入力してみましょう。
エラー画面になるようだと危ないです。
Re:MSSQL (スコア:0)
別にMSSQLだからではないですね。
2年ほど前に、某家電メーカーの検索窓に入れたら、しっかりSQL文に渡されていたので、お知らせしたら、翌日対策されていました。