ホームページ > バックエンド開発 > C++ > Json.Net の TypeNameHandling を使用して外部ソースからの JSON 逆シリアル化を保護するにはどうすればよいですか?

Json.Net の TypeNameHandling を使用して外部ソースからの JSON 逆シリアル化を保護するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-07 14:12:40
オリジナル
145 人が閲覧しました

How Can I Secure My JSON Deserialization from External Sources Using Json.Net's TypeNameHandling?

Json.Net TypeNameHandling Auto による外部 JSON の脆弱性

Json.Net の TypeNameHandling 自動設定により、信頼できない JSON を逆シリアル化するときにセキュリティ リスクが発生する可能性があります。ソース。ただし、これらのリスクは特定のガイドラインに従うことで軽減できます。

タイプ セーフティと攻撃ガジェット

TypeNameHandling を悪用した攻撃は、悪意のあるアクションを実行する「攻撃ガジェット」の構築に依存しています。インスタンス化または初期化時に。 Json.Net は、逆シリアル化された型と予期される型との互換性を検証することで、これらの攻撃から保護します。

脆弱性条件

ターゲットに明示的なオブジェクトまたは動的メンバーがない場合クラスはリスクを軽減しますが、安全性を完全に保証するものではありません。潜在的な脆弱性は、次のシナリオで発生する可能性があります: