Heim > Backend-Entwicklung > C++ > Wie sicher ist Ihre JSON-Deserialisierung mit TypeNameHandling von Json.Net?

Wie sicher ist Ihre JSON-Deserialisierung mit TypeNameHandling von Json.Net?

Patricia Arquette
Freigeben: 2025-01-07 14:23:42
Original
697 Leute haben es durchsucht

How Secure is Your JSON Deserialization with Json.Net's TypeNameHandling?

Externe JSON-Offenlegung: Die Risiken der TypeNameHandling mit Json.Net verstehen

JSON-Deserialisierung mit automatischer Typverarbeitung kann Sicherheitsrisiken darstellen. Ziel dieses Artikels ist es, die potenziellen Schwachstellen bei der Verwendung von TypeNameHandling mit auf „Auto“ eingestellten Einstellungen in Json.Net zu klären.

Grundlegendes zu TypeNameHandling in Json.Net

TypeNameHandling steuert, wie JSON. Net deserialisiert Typen mit „$type“-Eigenschaften, die den vollständig qualifizierten Namen des zu instanziierenden Typs angeben. Bei der Einstellung „Auto“ versucht Json.Net, den angegebenen Typ aufzulösen und eine Instanz zu erstellen.

Potenzielle Gefahren

Ohne unmittelbare Objekte oder dynamische Mitglieder in Ihrem Datenmodell, Sie können davon ausgehen, dass Sie vor Deserialisierungsangriffen geschützt sind. Bestimmte Szenarien können jedoch immer noch Risiken mit sich bringen: