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.

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

Wenn Sie noch Fragen bez├╝glich des Themas haben, dann k├Ânnen Sie sich gerne weiter ├╝ber die Seite der CWE Organisation, beim klicken des ersten Links oder des zweiten Links dar├╝ber weiter informieren.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte