Json.Net TypeNameHandling Auto による外部 JSON の脆弱性
Json.Net の TypeNameHandling 自動設定により、信頼できない JSON を逆シリアル化するときにセキュリティ リスクが発生する可能性があります。ソース。ただし、これらのリスクは特定のガイドラインに従うことで軽減できます。
タイプ セーフティと攻撃ガジェット
TypeNameHandling を悪用した攻撃は、悪意のあるアクションを実行する「攻撃ガジェット」の構築に依存しています。インスタンス化または初期化時に。 Json.Net は、逆シリアル化された型と予期される型との互換性を検証することで、これらの攻撃から保護します。
脆弱性条件
ターゲットに明示的なオブジェクトまたは動的メンバーがない場合クラスはリスクを軽減しますが、安全性を完全に保証するものではありません。潜在的な脆弱性は、次のシナリオで発生する可能性があります:
リスクの軽減
リスクを最小限に抑えるには、次の推奨事項に従うことが重要です:
これらのガイドラインに従うことで、TypeNameHandling auto が存在する場合でも、攻撃のリスクを大幅に軽減しながら、JSON を安全に逆シリアル化することができます。
以上がJson.Net の TypeNameHandling を使用して外部ソースからの JSON 逆シリアル化を保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。