User controllable charset

Was ist User controllable charset

Beim User controllable charset bereitet die Software eine strukturierte Nachricht für die Kommunikation mit einer anderen Komponente vor. Die Daten werden jedoch nicht verschlüsselt oder entschlüsselt. Daher bleibt die beabsichtigte Struktur der Nachricht nicht erhalten.

Beschreibung

Durch unsachgemäße Kodierung können Angreifer die gesendeten Befehle ändern und stattdessen schädliche Befehle einfügen.

Die Software folgt einem bestimmten Protokoll, das strukturierte Nachrichten für die Kommunikation zwischen Komponenten verwendet, wie Abfragen oder Befehlen. Diese strukturierten Nachrichten können Rohdaten enthalten, die mit Metadaten oder Steuerinformationen durchsetzt sind. Beispielsweise ist “GET /index.html HTTP / 1.1” eine strukturierte Nachricht, die einen Befehl (“GET”) mit einem einzigen Argument (“/index.html”) und Metadaten zur verwendeten Protokollversion (“HTTP / 1.1 “) nutzt.

Wenn eine Anwendung von Angreifern bereitgestellte Eingaben zum Erstellen einer strukturierten Nachricht ohne korrekte Kodierung oder Verschlüsselung verwendet, kann der Angreifer Sonderzeichen einfügen, die dazu führen, dass die Daten als Steuerinformationen oder Metadaten interpretiert werden. Folglich führt die Komponente, die die Ausgabe empfängt, falsche Operationen aus oder interpretiert die Daten falsch.

Bei dieser Prüfung werden Benutzereingaben in Abfragezeichenfolgeparametern und POST-Daten untersucht, um zu ermitteln, wo Zeichensätze für Content-Type- oder Meta-Tags möglicherweise vom Benutzer gesteuert werden. Solche Zeichensatzdeklarationen sollten immer von der Anwendung deklariert werden. Wenn ein Angreifer den Antwortzeichensatz steuern kann, kann der HTML-Code manipuliert werden, um XSS- oder andere Angriffe auszuführen.

Tipp

Überprüfen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.

Lösung

Es wird empfohlen, UTF-8 in Zeichensatzdeklarationen zu erzwingen. Wenn der Benutzer den Zeichensatz steuern muss, stellen Sie sicher, dass Sie eine Whitelist der akzeptierten Zeichensätze verwenden.

Verstehen Sie den Kontext, in dem Ihre Daten verwendet werden, und die erforderliche Kodierung. Dies ist besonders wichtig, wenn Daten zwischen verschiedenen Komponenten übertragen werden oder wenn Ausgaben generiert werden, die mehrere Kodierungen gleichzeitig enthalten können, z.B. Webseiten oder mehrteilige E-Mail-Nachrichten. Untersuchen Sie alle erwarteten Kommunikationsprotokolle und Datendarstellungen, um die erforderlichen Kodierungsstrategien zu bestimmen.

Geben Sie vollständig an, welche Kodierungen von Komponenten benötigt werden, die miteinander kommunizieren.

Stellen Sie beim Datenaustausch zwischen Komponenten sicher, dass beide Komponenten dieselbe Zeichencodierung verwenden. Stellen Sie sicher, dass an jeder Schnittstelle die richtige Kodierung angewendet wird. Wenn zulässig, legen Sie die von Ihnen verwendete Kodierung explizit fest.

Allgemeiner Schwachstellen-Datenbanklink

https://cwe.mitre.org/data/definitions/116.html

https://cwe.mitre.org/data/definitions/79.html


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte