パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

価格.com、サービス再開へ」記事へのコメント

  • MSSQL (スコア:4, 興味深い)

    by kacchan6 (19477) on 2005年05月24日 23時25分 (#740232)
    MSSQLはサニタイズと実行権限の設定を
    キチンと行わないと非常にヤバイです。

    他の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 ''='
    と、こんな感じで入力すれば何でもできてしまいます。

    サニタイズの簡単なチェックとしては、
    入力フォームで、「'」と入力してみましょう。
    エラー画面になるようだと危ないです。
    • by Anonymous Coward
      >入力フォームで、「'」と入力してみましょう。
      別にMSSQLだからではないですね。
      2年ほど前に、某家電メーカーの検索窓に入れたら、しっかりSQL文に渡されていたので、お知らせしたら、翌日対策されていました。

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

処理中...