Heim > Backend-Entwicklung > C++ > Wie kann ich meine JSON-Deserialisierung vor externen Quellen mithilfe des TypeNameHandling von Json.Net schützen?

Wie kann ich meine JSON-Deserialisierung vor externen Quellen mithilfe des TypeNameHandling von Json.Net schützen?

Linda Hamilton
Freigeben: 2025-01-07 14:12:40
Original
145 Leute haben es durchsucht

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

Externe JSON-Schwachstelle aufgrund von Json.Net TypeNameHandling Auto

Die automatische TypeNameHandling-Einstellung von Json.Net kann möglicherweise Sicherheitsrisiken mit sich bringen, wenn JSON von nicht vertrauenswürdig deserialisiert wird Quellen. Diese Risiken können jedoch durch die Einhaltung spezifischer Richtlinien gemindert werden.

Typsicherheit und Angriffs-Gadgets

Angriffe, die TypeNameHandling ausnutzen, basieren auf der Entwicklung von „Angriffs-Gadgets“, die böswillige Aktionen ausführen bei der Instanziierung oder Initialisierung. Json.Net schützt vor diesen Angriffen, indem es die Kompatibilität deserialisierter Typen mit den erwarteten Typen validiert.

Schwachstellenbedingungen

Obwohl das Ziel kein explizites Objekt oder dynamische Mitglieder enthält Obwohl die Klasse das Risiko verringert, ist die Sicherheit nicht vollständig gewährleistet. Potenzielle Schwachstellen können in den folgenden Szenarien auftreten: