Ich habe folgenden Fluss: eine URL mit Abfrage-Parametern, die ein gewisse Logik auf der Server-Seite läuft, und erzeugen dann mitXSS verhindern zu JS-Code-Datei übergebenen Parameter
-
einem Template-Engine eine Stub-HTML-Seite mit
- Eine JavaScript-Datei enthalten, die die Hauptlogik ausführt.
<script>
Tag, das ein JS-Objekt enthält, das Parameter zu diesem JS-Code enthält, die teilweise aus den Abfrageparametern stammen.
Jetzt möchte ich die Parameter sanieren I erhalten, XSS Injektion zu verhindern. Das Problem, dass einer der Parameter ein Token ist, also möchte ich nicht zu streng auf die Validierungen sein (einfach nicht alle möglichen XSS-Zeichen zuzulassen klingt zu streng), aber die meisten Bibliotheken, mit denen ich zu tun habe reiner HTML-Code und kein JS-Code (innerhalb <script>
Tags). Ich fühle mich auch ein bisschen unwohl, wenn ich die ganze Regex-Lösung lese, weil ich gewohnt bin, Open Source Bibliotheken im Umgang mit Sicherheit zu vertrauen (die Unit-Tests haben und nicht eine Reihe von Regex).
Irgendwelche Hinweise zu Bibliotheken & möglicher Ansatz? Wir laufen in JVM-Umgebung.
Ich denke, Sie könnten HTML-Code für Ihre Abfrage String-Parameter, dann können Sie sie sicher in Ihre HTML-Response-Seite anzeigen. In Java können Sie org.apache.commons.lang.StringEscapeUtils verwenden –
So übergeben Sie die URL-Parameter als Werte eines JS obejct Eigenschaften, ist das korrekt? – mjsarfatti
@mjsarfatti Das ist richtig –