2016-07-27 5 views
0

Ich schreibe einen Servlet-Filter, um die Site vor XSS-Schwachstellen zu schützen. Ich brauche eine Whitelist, die ich gegen HTTPRequest anwenden kann, so dass ich jedes bösartige Skript und Zeichen vermeiden kann.Erstellen einer Whitelist zum Schutz vor XSS-Schwachstellen in einer Java-basierten Anwendung

Kann ich reguläre Ausdrücke als Whitelist verwenden? Welchen regulären Ausdruck soll ich verwenden, damit er alle Zeichen der URL enthält? Jede andere Lösung ist ebenfalls willkommen.

Bitte schlagen Sie mir vor, wie Sie eine Whitelist für die URL der Anwendung erstellen.

Vielen Dank im Voraus.

Update - Bitte markieren Sie nicht seine Down-Abstimmung. Sehen Sie meine Forschung in Kommentaren. Ich habe schon viel darüber recherchiert.

+0

ich bereits JSTL Tag oder fn verwendet: escapeXml() für Zeichencodierung. Ich möchte zusätzliche Sicherheit über Filter anwenden, damit bei bösartigen Skripten oder Zeichen nicht auf Servlet und JSP zugegriffen wird. –

+0

Ich brauche eine weiße Liste, um die erste Sicherheitsstufe zu implementieren, und auf der zweiten Ebene habe ich bereits die Zeichencodierung implementiert. Also bitte dieses Duplikat nicht markieren. –

+0

Mein Kunde möchte die Anfrage als ungültige Anfrage markieren, wenn bösartige Zeichen in die URL injiziert werden. Deshalb brauche ich eine Whitelist. –

Antwort

1

Sie müssen einen echten HTML-Parser verwenden, um XSS wie JSoup zu verhindern. Verwenden Sie keine Regex.

Hier ist ein einfacher Filter I für Spring Security, welche Blöcke (hoffentlich) aus allen eingehenden XSS:

http://blog.databasepatterns.com/2015/08/simple-inbound-xss-filter-for-spring.html

Sie es für eine nicht-Spring-Umgebung ändern könnten oder bestimmen Tags erlauben es, ähnlich wie Die @ Safe-HTML-Annotation des Hibernate-Validators funktioniert.

Verwandte Themen