3

ASP.net アプリケーションの 1 つに対してセキュリティ レビューが行われ、テスト結果で返されたのは、リスクの高い項目と見なされる SQL インジェクションの露出でした。

実行されたテストは、__EVENTTARGET および __EVENTARGUMENT の値として SQL ステートメントを渡しました。これらの 2 つの値は、フレームワークの自動ポストバック機能に使用される ASP.net の自動生成された非表示フィールドであり、ポストバックを開始するコントロールに固有の情報を保持するため、手動で行ったことがない場合、SQL インジェクションの可能性は本当にあるのでしょうか。コードビハインドでこれらのパラメーターから値を呼び出したり、引き出したりしますか?

4

2 に答える 2

2

ダーティ データがフォームから渡される可能性があることを常に想定する必要があります。ポストバックからロードできるようにすることで、__EVENTARGUMENT をクライアント側から JavaScript 経由で変更できます。

SQL インジェクションを許可しないように、常に適切な方法を使用してください。パラメーター化された SQL ステートメントまたは別の安全な方法を使用しました。

http://msdn.microsoft.com/en-us/library/ms998271.aspx

于 2010-04-05T19:20:55.027 に答える
1

..コードビハインドでこれらのパラメーターから値を手動で呼び出したり、引き出したりしない場合...

上記のステートメントが正しいと仮定すると、これらのパラメーターが SQL インジェクションの影響を受けやすいとは思えません。おそらく、自動スキャンを実行しましたが、これは誤警報ですか?

于 2010-04-05T19:14:07.477 に答える