Frage

Als temporäre schnelle Lösung des Hauptrisiko während der Arbeit an der dauerhaften Lösung für XSS Vulnerability in einer sehr großen Code-Basis zu mildern, ich bin auf der Suche nach einer vorbestehenden XSS Prävention schwarzen Liste, die einen vernünftigen Job nicht gegen XSS zu schützen .

Vorzugsweise wird eine Reihe von regulären Ausdrücken. Ich bin mir dessen bewusst viel Spickzettel zum Testen und Rauchtests usw., was ich suche ist vorher abgestimmten regexps für die Angriffe zu blockieren.

Ich bin mir voll bewusst, dass der beste Weg ist, Ausgang zu entkommen oder wenn Sie einige Markup von den Benutzern benötigen weiße Listen zu verwenden. Aber mit der Größe der Codebasis, müssen wir etwas in schnell die sofortige Fußabdruck der Verwundbarkeit zu reduzieren und die Bar während der Arbeit an der realen Lösung zu erhöhen.

Ist jemand Kenntnis von einem guten Satz?

War es hilfreich?

Lösung

Ich weiß, dies nicht eine direkte Antwort auf Ihre Frage sein kann, aber ASP.NET-Entwickler in einer ähnlichen Situation finden kann dies nützlich:

Microsoft Anti-Cross-Site Scripting-Bibliothek V1.5

  

Diese Bibliothek unterscheidet sich von den meisten Codierung Bibliotheken, dass sie das „Prinzip der Einschlüsse“ Technik nutzt Schutz gegen XSS-Angriffe zu bieten. Dieser Ansatz funktioniert, indem man zuerst einen gültigen oder zulässigen Zeichensatz definiert und kodiert etwas außerhalb dieses Satzes (ungültige Zeichen oder potenzielle Angriffe). Das Prinzip von Einschlüssen Ansatz bietet ein hohes Maß an Schutz vor XSS-Angriffen und ist für Web-Anwendungen mit hohen Sicherheitsanforderungen geeignet.

Andere Tipps

Hier ist eine: http://ha.ckers.org/xss.html aber ich weiß nicht, ob es vollständig ist.

CAL9000 ist eine weitere Liste, wo man so etwas finden kann.

Nicht sicher, ob Sie PHP verwenden, aber wenn so sollte man sich HTMLPurifer . Es ist extrem einfach zu bedienen; nur einen Aufruf an die purify() Methode hinzufügen, wo Sie Ihre Eingabe akzeptieren, oder wo Sie geben es. Seine weißen Liste basierten Ansatz blockiert jeden XSS-Angriff ich es gegen getestet haben.

Der Spickzettel bei ha.ckers.org/xss.html ist nicht vollständig. Ein Kollege von mir fand ein oder zwei, die nicht dort sind. RSnake tut Liste viele der Regex Filter jeder Angriff Zeichenfolge Vergangenheit bekommt. Verwenden Sie ein paar und Sie können genug Löcher schließen.

Es wäre ein guter Ausgangspunkt sein. Wenn nichts anderes, zu wissen, welche Arten von Dingen, die Sie für zu müssen suchen.

Verwenden Sie es als einen Ort zu beginnen und die Skripte, die Sie schreiben, stellen Sie sicher, genügend Zeichen entkommen alle Angriffe Ihre schwarze Listen gutartig gemacht vermissen zu lassen. Was nützt xss Injektion, wenn kein Browser es macht?

In Wirklichkeit genug von den richtigen Zeichen zu entkommen geht die meisten des Weges hier. Es ist ziemlich schwer XSS in ein Skript zu injizieren, die alle < und entkommt "in " verwandelt.

Wenn Sie Apache laufen könnten Sie mod_security einige Löcher zu schließen. Zumindest würde es Ihnen ein Werkzeug zur Verfügung stellen ( Konsole oder einem einfachen Logfile ), um den Verkehr zu überwachen und zu reagieren, bevor es zu spät ist. Auch gotroot.com hat ein paar interessante Regeln für Web-Anwendungen.

Dann wieder, ich weiß nicht wirklich, welche Art von Löchern Sie schließen.

Was Sie wollen, ist ein IDS (Intrusion Detection System). Wenn Sie PHP verwenden, gibt es PHPIDS . Es ist gepflegt und von einer ausgezeichneten Hacker-Community getestet. Sie wurden zu werfen alle möglichen Dinge an ihm der Filter zu verbessern, weit über RSnake ursprünglichen Liste. Es gab auch ein .NET-Port irgendwo, nicht sicher, ob es noch aufrechterhalten wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top