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:
Risikominderung
Um das Risiko zu minimieren, ist es unbedingt erforderlich, diese zu befolgen Empfehlungen:
Durch die Einhaltung dieser Richtlinien ist es möglich, JSON auch in sicher zu deserialisieren das Vorhandensein von TypeNameHandling auto und reduziert gleichzeitig das Risiko von Angriffen erheblich.
Das obige ist der detaillierte Inhalt vonWie kann ich meine JSON-Deserialisierung vor externen Quellen mithilfe des TypeNameHandling von Json.Net schützen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!