Charset Mismatch
Was ist Charset Mismatch?
Bei der Charset Mismatch Prüfung werden Antworten identifiziert, bei denen der HTTP-Contenttyp-Header einen Zeichensatz deklariert, der sich von dem durch den Text des HTML oder XML definierten Zeichensatz unterscheidet. Wenn der Zeichensatz des HTTP-Headers nicht mit dem Text des Inhalts übereinstimmt, können Webbrowser in einen unerwünschten Inhalts-Sniffing-Modus gezwungen werden, um den korrekten Zeichensatz des Inhalts zu ermitteln.
Beschreibung
Der Security Scanner behandelt je nach Threshold-Einstellung des Scanners verschiedene Bedingungen:
- Header- vs. Meta-Contenttyp-Zeichensatz – Deklaration im HTTP-Contenttyp-Header stimmt nicht mit dem deklarierten META-Contenttyp-Tag überein
- Header- vs. Meta-Zeichensatz – Deklaration im HTTP-Contenttyp-Header stimmt nicht mit dem deklarierten META-Zeichensatz überein.
- Meta-Contenttyp-Zeichensatz fehlt – die Antwort enthält keinen META-Contenttyp Deklaration, wodurch ältere Clients möglicherweise übersehen werden.
- Meta-Zeichensatz im Vergleich zu Meta-Contenttyp-Zeichensatz – die Antwort enthält sowohl eine META-Contenttyp-Deklaration als auch eine META-Zeichensatz-Deklaration und sie stimmen nicht überein.
Tipp
Überprüfen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.
Lösungen
- Treffen Sie keine Entscheidung auf Grundlage des Namens von etwa beispielsweise Dateien, wenn diese alternative Namen haben können
- Verwenden sie eine Art “Whitelist” aus akzeptablen Eingaben, die streng den Spezifikationen entsprechen
- Berücksichtigen Sie alle relevanten Eigenschaften wie etwa Länge, Eingabetyp, Syntax, Einhaltung von Geschäftsregeln etc.
- Verlassen Sie sich nicht ausschließlich auf die Suche nach fehlerhaften bzw. schädlichen Eingaben
- Vor der Validierung sollten die Eingaben für die interne Darstellung der Anwendung dekodiert und kanonisiert werden
- Verwenden und geben Sie eine Codierung an, die von der Downstream-Komponente verarbeitet werden kann
- Übliche Kodierungen wären z.B. ISO-8859-1, UTF-7 und UTF-8
- Wird keine Codierung angegeben, so wird eine automatisch ermittelt, was fehlerhaft sein kann
Weitere Hinweise: http://www.w3.org/TR/html401/charset.html
Sie haben noch Fragen?