CWE ID: 116
Name: Improper Encoding or Escaping of Output
Das Produkt bereitet eine strukturierte Nachricht zur Kommunikation mit einer anderen Komponente vor, jedoch fehlt die encoding oder das escaping der Daten, oder es wird fehlerhaft durchgeführt. Infolgedessen wird die beabsichtigte Struktur der Nachricht nicht erhalten.
Effektivität: Unknown
Beschreibung: Verstehen Sie den Kontext, in dem Ihre Daten verwendet werden, und welche encoding erwartet wird. Dies ist besonders wichtig bei der Übertragung von Daten zwischen verschiedenen Komponenten oder bei der Generierung von Ausgaben, die mehrere encodings gleichzeitig enthalten können, wie beispielsweise Webseiten oder multipart mail messages. Analysieren Sie alle erwarteten Kommunikationsprotokolle und Datenrepräsentationen, um die erforderlichen encoding-Strategien zu bestimmen.
Effektivität: Unknown
Beschreibung: In manchen Fällen kann die Eingabevalidierung eine wichtige Strategie sein, wenn die Ausgabekodierung keine vollständige Lösung darstellt. Beispielsweise stellen Sie möglicherweise dieselbe Ausgabe bereit, die von mehreren consumers verarbeitet wird, die unterschiedliche Kodierungen oder Repräsentationen verwenden. In anderen Fällen müssen Sie möglicherweise zulassen, dass benutzergenerierte Eingaben Steuerinformationen enthalten, wie z. B. eingeschränkte HTML-Tags, die die Formatierung in einem Wiki oder einem Diskussionsforum unterstützen. Wenn diese Art von Anforderung erfüllt werden muss, verwenden Sie eine äußerst strenge allowlist, um die zulässigen Steuersequenzen zu begrenzen. Verifizieren Sie, dass die resultierende syntaktische Struktur der entspricht, was Sie erwarten. Verwenden Sie Ihre üblichen Kodierungsmethoden für den Rest der Eingabe.
Effektivität: Unknown
Beschreibung: Nutzen Sie die Eingabevalidierung als eine zusätzliche Verteidigungsebene (defense-in-depth), um die Wahrscheinlichkeit von Ausgabekodierungsfehlern zu reduzieren (siehe CWE-20).
Effektivität: Unknown
Beschreibung: Definieren Sie vollständig, welche encodings von Komponenten benötigt werden, die miteinander kommunizieren.
Effektivität: Unknown
Beschreibung: Stellen Sie bei der Datenübertragung zwischen Komponenten sicher, dass beide Komponenten dieselbe Zeichenkodierung verwenden. Stellen Sie sicher, dass die korrekte Kodierung an jeder interface angewendet wird. Legen Sie die verwendete Kodierung explizit fest, wann immer das protocol dies zulässt.