Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Tach zusammen,

kennt sich jemand mit Whitelists aus? Ich habe ein Webapplikationen mit Freitextfeldern. Diese möchte ich gegen XSS schützen. Da eine Blacklist ja keinen ausreichenden Schutz bietet, möchte ich eine Whitelist erstellen. Wie mach ich das, also welchen Zeichen sollen da drin steht, weil wenn ich z.B. sage es sind alle Zeichen a-z und sonderzeichen auch, dann könnte ich ja auch <script> schreiben, was ja gefährlich ist.

Geschrieben

Servus,

ich kenne zwar die Bedenken der OWASP bezüglich einer Blacklist, in meinen Projekten arbeite ich aber immer mit einer solchen. Ich verbiete z.B. die Zeichen '>' und '<'. Wenn diese bei bestimmten Formularen benötigt werden, dann werden sie vor der Anzeige escaped. Und wenn ich komplette Textabschnitte speichern muss, die Markup enthalten, dann arbeite ich gerne mit Antisamy (für Java), weil ich dort sehr genau festlegen kann, welche Elemente und welche Attribute ich erlaube.

Das alles hängt aber sehr stark von den fachlichen Anforderungen an das Textfeld ab. Was hast Du denn für Vorgaben: Welche Daten werden in den Formularen erfasst, was ist (fachlich) erlaubt, was nicht? Erst dann kann man die richtige Strategie entwickeln.

Schöne Grüße,

Peter

Geschrieben

Na ja im Prinzip soll kein Sonderzeichen komplett ausgeschlossen werden.

Also z.B. das "<" oder ">" soll schon möglich sein. Nur die gefährliche Kombination mit "script" o.ä. soll verboten werden. Wie macht man das am besten? Weil durch solche Kombination kann ich ja keine einfache Liste erstellen mit erlaubten zeichen. Weil wenn ich eigetlich alle Zeichen erlaube, wie kann ich dann z.b. ein "<script>" ausschließen?

Geschrieben

Wenn Du einzelne Zeichen nicht ausschließen kannst oder willst, dann musst Du halt Zeichenketten filtern. Dann eben "<script>" als ganzes, zusätzlich natürlich alle encodierten, aber für den Browser decodierbaren Varianten und wahrscheinlich noch das "javascript:" Pseudoprotokoll. Aber da kommt es wieder darauf an (s.o.), was die Daten fachlich machen sollen. Das heißt, wo zeigst Du diese Daten wieder an? Wenn sie nie mehr im Kontext von Markup gezeigt werden, ist XSS uninteressant. Ansonsten musst Du die Zeichen eben bei der Ausgabe encodieren, nicht bei der Eingabe filtern.

Peter

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...