アカウント名:
パスワード:
これまでのサイト攻撃は、OSの不備やホームページをネットに提供するプログラムのミスなどを突くケースが多かった。今回は、プログラムに欠陥がなくても、コンピューターが正規の命令か悪意のある命令かは判断できない点を突き、命令をそのまま実行させて支配下に置いていた。
入力された値のバリデーションを正しく行うことは、Secureプログラミングの基本だと思うのだが、、、
違いますよ。セキュアプログラミングの本当の基本は、入力の値がどうこうというよりも、出力部分、つまり値を使用する部分(SQLならSQL文を文字列連結して作成する部分)で、メタ文字をエスケープすること(ないし制限チェックをすること(たとえば変数をパス名として使用する部分では、使用するところで所定のディレクトリ内かをチェックする。けっして入力値のチェックではない。))です。
どういうわけか、入力をサニタイズするという場当た
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
プログラムに欠陥がなくても? (スコア:2, すばらしい洞察)
Re:プログラムに欠陥がなくても? (スコア:2, 興味深い)
サニタイズ?何それ (スコア:1)
違いますよ。セキュアプログラミングの本当の基本は、入力の値がどうこうというよりも、出力部分、つまり値を使用する部分(SQLならSQL文を文字列連結して作成する部分)で、メタ文字をエスケープすること(ないし制限チェックをすること(たとえば変数をパス名として使用する部分では、使用するところで所定のディレクトリ内かをチェックする。けっして入力値のチェックではない。))です。
どういうわけか、入力をサニタイズするという場当た
Re:サニタイズ?何それ (スコア:1)
後学のために正しくはサニタイズとはどういう処理か詳しく教えてください。
Re:サニタイズ?何それ (スコア:0)
Re:サニタイズ?何それ (スコア:1)
英語を使う人間がサニタイズと使うからって、そのまま使うケースがあまりに多過ぎる気がするな。
あっちの人間って、新しい単語を作っても、辞書に載っていなければ通じないから、既存の単語を良く用いる。
それと違い漢字って、漢字自体が意味を持つから、「無害にする」とか「殺菌する」なんて言葉の英語を外来語として使わずに、「特殊文字の無害化」って多くの人が見ても分かり易く表現した方が良いんじゃないの?
「特殊文字をサニタイズしていないから」みたいな「対象」がはっきり分かる表現ならば分かりやすいけど。
CGIのソースを指差し「サニタイズして」なんて言っていると、言われた人はモニターをイソプロピルアルコール等で消毒....
その後、「サニタイズしてくれた?」なんて聞くと「ちゃんとしておきましたよ」なんて....
後日、「しかし結果として“最高の対策”とは呼べない部分はあったと思う」
http://www.itmedia.co.jp/news/articles/0505/25/news086.html
なんていう羽目になるかも。
# だけど「無過失らしい」....