Content-Type-Nicht-Korrekt/DE

Aus Siwecos
Wechseln zu: Navigation, Suche

Überprüfung des HTTP Content-Types

Check Inkorrekte HTTP Content-Type Konfiguration
Beschreibung Der Content-Type ist eine Angabe, die für gewöhnlich im Kopfbereich der Webseite, dem sogenannten Header, untergebracht wird. Durch diese Angaben wird der Zeichensatz und der Typ des Inhalts der Seite definiert. Sollte eine Definition fehlen, wird der Webbrowser versuchen den Content-Type zu erraten; dies kann zu Sicherheitslücken wie Code-Page-Sniffing führen. Diese Angaben sind zudem wichtig, damit die Webseite in jedem Browser und auf jedem Computer einwandfrei dargestellt wird. Wenn ein Server ein Dokument an einen User-Agent sendet (zum Beispiel zum Browser) ist es nützlich, im Content-Type-Feld des HTTP-Header die Art des Dateiformates zu hinterlegen. Diese Informationen deklarieren den MIME-Typ und senden entsprechend die Zeichenkodierung des Dokuments wie text/html, text/plain, etc. an den Browser.
Hintergrund Der Content-Type ist eine Metaangabe, die im Kopfbereich der Website, dem sogenannten Head untergebracht wird. Durch diese Angabe wird der Zeichensatz und der Typ des Inhalts der Seite definiert. Diese Angaben sind wichtig, damit die Website in jedem Browser und auf jedem Computer einwandfrei dargestellt wird. Die Einbettung des Content Types im Quellcode ist durch eine relativ kurze Angabe möglich. Es sollte der UTF-8 Zeichensatz verwendet werden.
Auswirkung Durch die Angabe der korrekten Header-Deklaration können diverse XSS-Angriffe verhindert werden. Wird der verwendete Zeichensatz nicht angegeben, so interpretieren manche Webbrowser den Quellcode selbst, wodurch bestimmte Angriffe möglich werden, die einen anderen Zeichensatz voraussetzen.
Lösung / Tipps Fügen sie den entsprechenden HTTP-Header oder alternativ ein <meta> Tag hinzu. Bitte beachten Sie, dass <meta> im Gegensatz zu einem HTTP-Header leichter angegriffen werden kann.

text/html; charset=utf-8;

--snip

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

—snap


Weiterhin muß der Server selber konfiguriert werden, damit die richtige charset-Information gesendet wird. Dazu benötigt werden entsprechende Berechtigungen benötigt um die Änderungen am Server durchführen zu können. Weiter Informationen zu den verschiedenen Serverkonfigurationen finden Sie auf den Seiten von W3.org.

Darüber hinaus gibt es auch die Möglichkeit die richtige charset-Information der .htaccess zu übergeben, welche die Angaben im HTTP-Header überschreiben. charset in .htaccess

In die .htaccess eintragen:

AddType 'text/html; charset=UTF-8' html

Hier finden Sie ein Beispiel, wie eine .htaccess -Datei aussehen kann, um den HTTP-Security-Header-Scanner Grün zu stimmen. (.htaccess-Beispiel)