0

よくできていないコードベースでは、SQL インジェクションと JavaScript インジェクションが大きな問題だったことを私は知っています。適切に設計されたコードベースでは、サニタイズ ボトルネック モジュールを介してフォーム データのみを受け入れ、コード レビューを介してコミュニティから発信された mod とプラグインにこの制約を明示的に適用することで、これらを修正できるはずです。

さて、これらの問題が修正されたら、残りの主要な脅威/既知の脆弱性の原因は何ですか? それらのための同様に簡単な潜在的なサニタイズソリューションはありますか?

4

1 に答える 1

1

1つ目はわかりませんが、2つ目は確かな答えがあります。

それらはサニタイズによって修正できますか?

いいえ

「消毒」のようなものはありません。
そのような魔法の杖の信念は、すべての注射の源です.

悪意のあるデータはありません。さまざまな状況でさまざまなデータがあります。 そして、「一般的な無害化のボトルネック」は何の役にも立たず、無害なデータを台無しにし、悪意のあるデータをそのままにしておきます。

「サニタイズ」(または、より良いフォーマット)を行う必要があるかどうかは、データの宛先によって異なります。

また、「デーモン」(SQL、HTML など) だけでは、単一のルールによる宛先ポイント全体ではありません。
たとえば、必要な HTML の場合、htmlspecialchars()またはurlencode()別の宛先の場合です。
SQL の場合、4 つの異なるフォーマット手法があります。

  • 文字列用
  • 数字の場合 (ただし、前のものと組み合わせることができます)
  • 識別子用
  • 構文キーワード

それぞれが完全に異なるフォーマットを必要とし、魔法のボトルネックの時点ではまったく不明です。

于 2012-05-03T05:37:50.440 に答える