2016-06-17 10 views
4

方法set_UserActiveEnvironments()に格納され、非直列化可能なオブジェクトを損傷する可能性がライン47上のHttpSessionState属性として非直列化可能なオブジェクトを格納するアプリケーションの信頼性HPフォーティファイ:ASP.NETバッド・プラクティス:HttpContextHelper.csにセッション

デフォルトでは、ASP.NETサーバーはHttpSessionStateオブジェクト、その属性、およびそれらが参照するオブジェクトをメモリに格納します。このモデルは、アクティブなセッション状態を、単一のマシンのシステムメモリが対応できるものに制限します。これらの制限を超えて容量を拡張するために、サーバは頻繁に両方が容量を拡張し、全体的なパフォーマンスを改善するために、複数のマシン間での複製を許可する永続的なセッション状態情報に設定されています。そのセッション状態を持続させるためには、HttpSessionStateオブジェクトを直列化しなければなりません。そのため、そこに格納されているすべてのオブジェクトは直列化可能でなければなりません。

なぜそれが脆弱性として表示されていますか?どのように修正するのですか?そこHP Fortifyはが示すいくつかの偽陽性があり、そしてあなたは、すべてのケースバイケースを分析する必要がある理由です

答えて

1

Mohanrajは、多分あなたは既に解決策を発見しましたが、下記のもっともらしい説明されていますこの脆弱性は、それはあなたを示し、それが見つかった脆弱性が現実の脅威や偽陽性である場合は、分析のための分類リストを持っている理由です。

この脆弱性を解決するには、あなたがアプリケーションにデータを格納するためにセッションを使用する際に推奨される[Serializable]としてSessionに送信/送信しようとしているクラスを飾る必要があります。より良いシリアライズの使用方法を説明ピートObermeyerとジョナサン・ホーキンスthis article

チェック。

これが役に立ちます。