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

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

  • by Anonymous Coward
    SQL注入されちゃうのはプログラムの欠陥だろー>asahi.comの記事
    • 本当にクラックの方法が記事どおりだとしてら、

       これまでのサイト攻撃は、OSの不備やホームページをネットに提供するプログラムのミスなどを突くケースが多かった。今回は、プログラムに欠陥がなくても、コンピューターが正規の命令か悪意のある命令かは判断できない点を突き、命令をそのまま実行させて支配下に置いていた。

      • 入力された値のバリデーションを正しく行うことは、Secureプログラミングの基本だと思うのだが、、、

        違いますよ。セキュアプログラミングの本当の基本は、入力の値がどうこうというよりも、出力部分、つまり値を使用する部分(SQLならSQL文を文字列連結して作成する部分)で、メタ文字をエスケープすること(ないし制限チェックをすること(たとえば変数をパス名として使用する部分では、使用するところで所定のディレクトリ内かをチェックする。けっして入力値のチェックではない。))です。

        どういうわけか、入力をサニタイズするという場当た

        • いや、そりゃ単なる言葉尻を捉えた揚げ足取りでは?
          ふつーに考えればエスケープ処理はあんたのおっしゃる「出力」の際にやるわけで、サニタイズったらまずそのことでしょう。そうじゃなきゃその出力を行うコード部分を他に転用したときに危ない。
          従って「入力をサニタイズしなさい」というときに、馬鹿正直に値をGetしたコード部分で「サニタイズ」をやるやつぁいないと思いますよ。
          なにしろご指摘のように、出力がSQLなのかHTMLなの
          • たとえば、バッファオーバーフローの穴が生じないように配列のインデックス確認をするコードを書いたときに、それを「サニタイズした」とは言いませんね。

            #740324 さんの書くサニタイジングのコードというのは、どんな文なんでしょうか? サニタイズというくらいですから、文字列を削るコードなんですよね。
            • by Anonymous Coward on 2005年05月25日 4時13分 (#740336)
              #740324のACです。例えが例えになってないような気がするなあ。
              単にサニタイズ用の文字列処理かますだけの話でしょう。難しそうに考える必要はない。
              例えばPHPでXSSを防ぐためにHTML出力を実体参照にしたければ、htmlentities()とかの類の脳死レベルの関数が用意されてますな。
              まあそんなもの用意されてなくても、出力先に応じてエスケープに必要な正規表現でも書くだけ。とてもとても「サニタイジングのコード」などというご大層なものでは。

              ところで、サニタイズ=文字列を削る、ということは寡聞にして今日初めて聞きましたよ。
              まあ文字列長チェックなんかも無害化と言えなくはないんだろうけど。
              親コメント

犯人はmoriwaka -- Anonymous Coward

処理中...