
Webanwendungssicherheitsscanner erstellt von lcamtuf für Google - Inoffizieller Spiegel
http://code.google.com/p/skipfish/
Geschrieben und gewartet von:
Michal Zalewski [email protected] Niels Heinen [email protected] Sebastian Roschke [email protected]
Urheberrecht 2009 - 2012 Google Inc, alle Rechte vorbehalten.
Veröffentlicht unter den Bedingungen der Apache License, Version 2.0.
Skipfish ist ein aktives Werkzeug zur Sicherheitserkundung von Webanwendungen. Es erstellt eine interaktive Sitemap für die Zielseite, indem es einen rekursiven Crawl und wörterbuchbasierte Sondierungen durchführt. Die resultierende Karte wird dann mit den Ergebnissen einer Reihe von aktiven (aber hoffentlich nicht störenden) Sicherheitsprüfungen annotiert. Der vom Tool erstellte endgültige Bericht soll als Grundlage für professionelle Sicherheitsbewertungen von Webanwendungen dienen.
Eine Reihe von kommerziellen und Open-Source-Tools mit ähnlicher Funktionalität sind leicht verfügbar (z.B. Nikto, Nessus); bleiben Sie bei dem, das am besten zu Ihnen passt. Dennoch versucht skipfish, einige der häufigsten Probleme im Zusammenhang mit Web-Sicherheitsscannern zu adressieren. Zu den spezifischen Vorteilen gehören:
Hohe Leistung: 500+ Anfragen pro Sekunde gegen reaktionsschnelle Internet-Ziele, 2000+ Anfragen pro Sekunde in LAN-/MAN-Netzwerken und 7000+ Anfragen gegen lokale Instanzen wurden beobachtet, bei einem sehr bescheidenen CPU-, Netzwerk- und Speicherbedarf. Dies ist zurückzuführen auf:
Multiplexing-Einzelthread, vollständig asynchrone Netzwerk-I/O und Datenverarbeitungsmodell, das Ineffizienzen bei der Speicherverwaltung, Terminierung und IPC in manchen Multithread-Clients eliminiert.
Erweiterte HTTP/1.1-Funktionen wie Bereichsanfragen, Inhaltskompression und Keep-Alive-Verbindungen, sowie erzwungene Begrenzung der Antwortgröße, um den Netzwerk-Overhead in Schach zu halten.
Intelligentes Antwort-Caching und erweiterte Heuristiken zum Serververhalten werden verwendet, um unnötigen Datenverkehr zu minimieren.
Leistungsorientierte, reine C-Implementierung, einschließlich eines benutzerdefinierten HTTP-Stacks.
Benutzerfreundlichkeit: skipfish ist hochgradig anpassungsfähig und zuverlässig. Der Scanner bietet:
Heuristische Erkennung obskurer pfad- und abfragebasierter Parameterverarbeitungsschemata.
Graziöse Handhabung von Multi-Framework-Seiten, bei denen bestimmte Pfade völlig unterschiedlichen Semantiken folgen oder unterschiedlichen Filterregeln unterliegen.
Automatische Wörterlistenerstellung basierend auf der Analyse des Seiteninhalts.
Probabilistische Scan-Funktionen, um periodische, zeitgebundene Bewertungen beliebig komplexer Websites zu ermöglichen.
Gut entworfene Sicherheitsprüfungen: Das Tool soll genaue und aussagekräftige Ergebnisse liefern:
Handgefertigte Wörterbücher bieten eine hervorragende Abdeckung und ermöglichen gründliche $keyword.$extension-Tests in einem angemessenen Zeitrahmen.
Dreistufige differentielle Sonden werden gegenüber Signaturprüfungen zur Erkennung von Schwachstellen bevorzugt.
Ratproxy-artige Logik wird verwendet, um subtile Sicherheitsprobleme zu erkennen: Cross-Site-Request-Forgery, Cross-Site-Script-Inclusion, Mixed Content, Probleme mit MIME- und Zeichensatzkonflikten, falsche Caching-Anweisungen usw.
Mitgelieferte Sicherheitsprüfungen sind darauf ausgelegt, knifflige Szenarien zu handhaben: gespeichertes XSS (Pfad, Parameter, Header), blinde SQL- oder XML-Injection oder blinde Shell-Injection.
Snort-ähnliche Inhaltsignaturen, die Serverfehler, Informationslecks oder potenziell gefährliche Webanwendungen hervorheben.
Die Nachbearbeitung von Berichten reduziert drastisch das Rauschen, das durch verbleibende Fehlalarme oder Server-Tricks verursacht wird, indem sich wiederholende Muster identifiziert werden.
Dennoch ist skipfish kein Allheilmittel und kann für bestimmte Zwecke ungeeignet sein. Beispielsweise erfüllt es die meisten der im WASC Web Application Security Scanner Evaluation Criteria beschriebenen Anforderungen nicht (einige bewusst, einige aus Notwendigkeit); und anders als die meisten anderen Projekte dieser Art enthält es keine umfangreiche Datenbank bekannter Schwachstellen für Bannerprüfungen.
Eine grobe Liste der vom Tool angebotenen Sicherheitsprüfungen ist unten aufgeführt.
Hochrisiko-Schwachstellen (potenziell zu Systemkompromittierung führend):
Mittleres Risiko (potenziell zu Datenkompromittierung führend):
Geringes Risiko (begrenzte Auswirkungen oder geringe Spezifität):
Interne Warnungen:
Unspezifische Informationseinträge: