schlecht Terminologie aktualisiertWarum führt OWASP HTML im Gegensatz zu einem Blacklist-Trust-Ansatz auf die weiße Liste?
Ich bin bei JSoup und OWASP Java HTML sanitizer project suchen. Ich bin nur an einem solchen Tool interessiert, um XSS-Angriffe zu verhindern, indem Benutzereingaben bereinigt werden, die an die API-Ebene weitergegeben werden. Das OWASP-Projekt sagt
"Passing 95 +% der AntiSamy Unit Tests plus viele mehr."
Aber es sagt mir nicht, wo ich diese Tests selbst sehen kann. Was umfassen diese Tests? Einfacher möchte ich wissen, warum diese genannten Tools die Vertrauenswürdigkeit auf die weiße Liste setzen.
Ich bin sicher, es gibt einen Grund für ihre Wahl Whitelisting vs Blacklisting. Ich möchte nur bekannte XSS unsichere Tags wie script
und Attribute wie on*
verbieten. Der Ansatz der Blacklist scheint nicht einmal möglich zu sein.
Ich muss wissen, was die Begründung dafür ist und ich vermute, dass es in den Tests ist. Zum Beispiel, warum verbieten style
Tags? Ist es gefährlich in Bezug auf XSS oder existiert es aus einem anderen Grund? (style
kann XSS unsicher sein wie in den Kommentaren erwähnt: XSS attacks and style attributes)
Ich bin auf der Suche nach mehr XSS unsicheren Rechtfertigungen für andere Tags. Die Unit-Tests selbst sollten ausreichen, wenn jemand weiß, wo er sie finden kann. Angesichts genügend unsicherer Tags sollte mir das erklären, warum ein Whitelist-Ansatz notwendig ist.
Ihre Verwendung von "Blacklist" und "Whitelist" ist verwirrend für mich. Ein "Blacklist" -Mechanismus würde standardmäßig alles zulassen und erfordern, dass der Benutzer explizit Dinge auflistet, die er verbieten möchte. Eine "Whitelist" würde standardmäßig alles ablehnen und den Benutzer auflisten, was er zulassen möchte. OWASP Java HTML-Sanitizer verwendet White Listing; Standardmäßig wird alles abgelehnt, und Sie erstellen eine Richtlinie, indem Sie das angegebene Markup zulassen. – erickson
@erickson - Verstanden, meine Terminologie ist verrückt. Danke für den Link, das ist sehr hilfreich. Wenn jemand eine Verbindung zu den oben erwähnten "AntiSamy Unit Tests" herstellen kann, wird diese Frage zu 100% beantwortet. –