Sicheres JSON-, XML- und YAML-Laden im Django-Projekt sicherstellen

8

Ich führe eine Produktion Django 1.5-Anwendung.

Vor kurzem gab es eine Menge Lärm über verschiedene Schwachstellen im Zusammenhang mit dem Laden von JSON-, XML- und YAML-Objekten. Wenn ich richtig verstehe, wurde die Eingabe sorgfältig erstellt, um Fehler in den Ladefunktionen auszunutzen.

Nun habe ich keine Ahnung, wo Django (oder die Dutzende von Apps von Drittanbietern, die wir verwenden) jedes dieser Protokolle verwendet. Wie kann ich vor solchen Sicherheitslücken geschützt werden? Muss ich sicherstellen, dass Django JSON, XML und YAML sicher lädt?

    
Ram Rachum 20.03.2013, 16:27
quelle

1 Antwort

1

Django akzeptiert standardmäßig keine codierten Benutzereingaben in diesen Formaten und in der Regel auch keine Apps von Drittanbietern, aber es lohnt sich, die Teile zu überprüfen, die für den Benutzer sichtbar sind. Die Großen werden API-Anbieter (Tastypie, Django REST Framework usw.) sein. Wenn Sie auf aktuellen Versionen sind, sollten Sie sicher sein, aber es ist es wert, getestet / bestätigt werden.

Wenn Sie aus diesen Formaten etwas in Ihre App laden, verwenden Sie defusedxml und YAMLs safe_load Methode. Die Standardbibliothek json Modul sollte vor diesen Arten von Exploits sicher sein.

    
Pete 21.03.2013 20:58
quelle

Tags und Links