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

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

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

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

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

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

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

        • by Anonymous Coward on 2005年05月25日 2時49分 (#740324)
          いや、そりゃ単なる言葉尻を捉えた揚げ足取りでは?
          ふつーに考えればエスケープ処理はあんたのおっしゃる「出力」の際にやるわけで、サニタイズったらまずそのことでしょう。そうじゃなきゃその出力を行うコード部分を他に転用したときに危ない。
          従って「入力をサニタイズしなさい」というときに、馬鹿正直に値をGetしたコード部分で「サニタイズ」をやるやつぁいないと思いますよ。
          なにしろご指摘のように、出力がSQLなのかHTMLなのか、はたまた別のものなのかでエスケープなんて全部変わってくるわけだから、やりようがない。場当たりも糞も、実効性なんてありませんよ。なんか「サニタイズ」という言葉を振り回すコンサルたん系のヤツでもいて迷惑を被りましたか? だったら同情しないでもないですがね。

          #当方、「サニタイズ」という言葉を口にする「おかしなセキュリティ屋」ですがその程度の単純なことは理解してますよ :-)
          親コメント
          • by jbeef (1278) on 2005年05月25日 3時30分 (#740331) 日記
            たとえば、バッファオーバーフローの穴が生じないように配列のインデックス確認をするコードを書いたときに、それを「サニタイズした」とは言いませんね。

            #740324 さんの書くサニタイジングのコードというのは、どんな文なんでしょうか? サニタイズというくらいですから、文字列を削るコードなんですよね。
            親コメント
            • #740324のACです。例えが例えになってないような気がするなあ。
              単にサニタイズ用の文字列処理かますだけの話でしょう。難しそうに考える必要はない。
              例えばPHPでXSSを防ぐためにHTML出力を実体参照にしたければ、htmlentities()とかの類の脳死レベルの関数が用意されてますな。
              まあそんなもの用意されてなくても、出力先に応じてエス
            • SQL injectionの対策って、ふつーにsanitizeって言いませんか?

              ぐぐる様での検索結果 [google.co.jp]

              いやまあ、みんな間違って使ってるっておっしゃるのかもしれませんけど……。
              • #740417です。

                私もそう思ってますが。

                サニタイズ=入力の無毒化、チェック。

                入力、出力時に文字列の値をチェック、編集することでsqlインジェクション、コマンドインジェクション、XSS等の対策を行う方法および行為。

                と思ってたんですが。。
                違うんですか?エロイ人。
              • 偉くないけどエロイ人です。

                それでいいんじゃない?
                入力は大抵の場合何か別のものへの出力になるし、出力も大抵の場合何か別のものへの入力になる。
                もちろんカタチを変えたりはするけど。
                「何からの」「何への」を省略してやれ入力だ出力だ言っても仕方あるまいに、と思う。
          • んにゃ。サニタイジングは普通入出力両方でやるぞ。

            出力って、どの部分をさしていってます?
            もし、画面および帳票をさして行ってるならアウト。
            SQLに変数を与えるところを指してるならok。

            動的SQLのすべてがPrepareで書ければいいが、でない場合文字列に

            ;DELE

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

処理中...