Einführung
In der Vergangenheit wurden viele beliebte Websites gehackt. Hacker sind aktiv und versuchen ständig, Websites zu hacken und Daten auszuspähen. Aus diesem Grund sind Sicherheitstests von Webanwendungen sehr wichtig. Und genau hier kommen Web Application Security Scanner ins Spiel.
Ein Web Application Security Scanner ist ein Softwareprogramm, das automatische Black-Box-Tests einer Webanwendung durchführt und Sicherheitslücken identifiziert. Scanner greifen nicht auf den Quellcode zu; sie führen nur funktionale Tests durch und versuchen, Sicherheitslücken zu finden. Es gibt verschiedene kostenpflichtige und kostenlose Schwachstellenscanner für Webanwendungen.
In diesem Beitrag listen wir die besten kostenlosen Open-Source-Schwachstellen-Scanner für Webanwendungen auf. Ich füge die Tools in zufälliger Reihenfolge hinzu, also denken Sie bitte nicht, dass es sich um ein Ranking der Tools handelt.
Ich füge nur Open-Source-Tools hinzu, die zum Auffinden von Sicherheitslücken in Webanwendungen verwendet werden können. Ich füge keine Tools hinzu, um Server-Schwachstellen zu finden. Und verwechseln Sie bitte nicht kostenlose Tools und Open-Source-Tools! Es gibt verschiedene andere Tools, die kostenlos erhältlich sind, aber sie stellen anderen Entwicklern keinen Quellcode zur Verfügung. Open-Source-Tools sind solche, die Entwicklern den Quellcode zur Verfügung stellen, damit sie das Tool modifizieren oder bei der Weiterentwicklung helfen können.
Dies sind die besten Open-Source-Tools für Penetrationstests von Webanwendungen.
Grabber
Grabber ist ein Scanner für Webanwendungen, der viele Sicherheitslücken in Webanwendungen aufspüren kann. Er führt Scans durch und sagt, wo die Schwachstelle existiert. Er kann die folgenden Sicherheitslücken erkennen:
- Cross-site scripting
- SQL injection
- Ajax testing
- File inclusion
- JS-Quellcode-Analysator
- Datei-Backup-Check
Im Vergleich zu anderen Sicherheitsscannern ist es nicht schnell, aber er ist einfach und portabel. Es sollte nur zum Testen kleiner Webanwendungen verwendet werden, da es zu viel Zeit benötigt, um große Anwendungen zu scannen.
Dieses Tool bietet keine GUI-Schnittstelle. Es kann auch keine PDF-Berichte erstellen. Dieses Tool wurde einfach und für den persönlichen Gebrauch konzipiert. Wenn Sie es für den professionellen Einsatz halten, werde ich es nicht empfehlen.
Dieses Tool wurde in Python entwickelt und eine ausführbare Version ist auch verfügbar, wenn Sie es wünschen. Der Quellcode ist verfügbar, so dass Sie ihn nach Ihren Bedürfnissen modifizieren können. Das Hauptskript ist grabber.py, das, sobald es ausgeführt wird, andere Module wie sql.py, xss.py oder andere aufruft.
Laden Sie es hier herunter.
Quellcode auf GitHub.
Vega
Vega ist ein weiterer freier Open-Source-Web-Schwachstellen-Scanner und eine Testplattform. Mit diesem Tool können Sie Sicherheitstests für eine Webanwendung durchführen. Dieses Tool ist in Java geschrieben und bietet eine GUI-basierte Umgebung. Es ist für OS X, Linux und Windows verfügbar.
Es kann verwendet werden, um SQL Injection, Header Injection, Directory Listing, Shell Injection, Cross-Site Scripting, File Inclusion und andere Schwachstellen in Webanwendungen zu finden. Das Tool kann auch über eine leistungsfähige, in JavaScript geschriebene API erweitert werden.
Während der Arbeit mit dem Tool können Sie einige Einstellungen vornehmen, wie z. B. die Gesamtzahl der Pfadnachfolger, die Anzahl der Kindpfade eines Knotens sowie die Tiefe und die maximale Anzahl der Anfragen pro Sekunde. Sie können Vega Scanner, Vega Proxy und Proxy Scanner verwenden und auch mit Anmeldedaten scannen. Wenn Sie Hilfe benötigen, finden Sie Ressourcen im Dokumentationsbereich:
Die Dokumentation finden Sie hier.
Laden Sie Vega hier herunter.
Zed Attack Proxy
Zed Attack Proxy ist auch als ZAP bekannt. Dieses Tool ist Open-Source und wird von OWASP entwickelt. Es ist für die Plattformen Windows, Unix/Linux und Macintosh verfügbar.
Ich persönlich mag dieses Tool. Es kann verwendet werden, um eine breite Palette von Schwachstellen in Webanwendungen zu finden. Das Tool ist sehr einfach und leicht zu bedienen. Selbst wenn Sie neu im Bereich der Penetrationstests sind, können Sie dieses Tool leicht verwenden, um mit dem Erlernen von Penetrationstests von Webanwendungen zu beginnen.
Das sind die wichtigsten Funktionalitäten von ZAP:
- Abfangproxy
- Automatischer Scanner
- Traditionelle aber leistungsstarke Spider
- Fuzzer
- Web-Socket-Unterstützung
- Plug-n-hack-Unterstützung
- Authentifizierungsunterstützung
- REST-basierte API
- Dynamische SSL-Zertifikate
- Unterstützung von digitalen Smartcard- und Client-Zertifikaten
Sie können dieses Tool entweder als Scanner verwenden, indem Sie die URL eingeben, um eine Überprüfung durchzuführen, oder Sie können dieses Tool als abfangenden Proxy verwenden, um manuell Tests auf bestimmten Seiten durchzuführen.
Laden Sie ZAP hier herunter.
Wapiti
Wapiti ist ein Web-Schwachstellen-Scanner, mit dem Sie die Sicherheit Ihrer Web-Anwendungen überprüfen können. Er führt Blackbox-Tests durch, indem er Webseiten scannt und Daten injiziert. Es versucht, Payloads zu injizieren und zu sehen, ob ein Skript verwundbar ist. Es unterstützt sowohl GET- als auch POSTHTTP-Angriffe und erkennt mehrere Sicherheitslücken.
Es kann die folgenden Sicherheitslücken erkennen:
- File disclosure
- File inclusion
- Cross-site scripting (XSS)
- Befehlsausführungserkennung
- CRLF-Injection
- SEL-Injection und XPath-Injection
- Schwache .htaccess-Konfiguration
- Offenlegung von Sicherungsdateien
- Viele andere
Wapiti ist eine Kommandozeilenanwendung, daher ist es für Anfänger vielleicht nicht einfach. Aber für Experten wird es gut funktionieren. Um dieses Tool zu benutzen, müssen Sie viele Befehle lernen, die in der offiziellen Dokumentation zu finden sind.
Laden Sie Wapiti mit Quellcode hier herunter.
W3af
W3af ist ein beliebtes Framework für Angriffe und Audits von Webanwendungen. Dieses Framework zielt darauf ab, eine bessere Plattform für Penetrationstests von Webanwendungen bereitzustellen. Es wurde mit Python entwickelt. Mit diesem Tool können Sie mehr als 200 Arten von Schwachstellen in Webanwendungen identifizieren, darunter SQL-Injection, Cross-Site-Scripting und viele andere.
Es verfügt über eine grafische und eine Konsolenschnittstelle. Sie können es dank seiner einfachen Oberfläche leicht benutzen.
Wenn Sie es mit einer grafischen Oberfläche benutzen, glaube ich nicht, dass Sie irgendwelche Probleme mit dem Tool haben werden. Sie müssen nur die Optionen auswählen und dann den Scanner starten. Wenn eine Website eine Authentifizierung benötigt, können Sie auch Authentifizierungsmodule verwenden, um die sitzungsgeschützten Seiten zu scannen.
Wir haben dieses Tool bereits in unserer früheren W3af-Walkthrough-Serie ausführlich behandelt. Sie können diese Artikel lesen, um mehr über dieses Tool zu erfahren.
Sie können auf den Quellcode im GitHub-Repository hier zugreifen.
Laden Sie es von der offiziellen Website hier herunter.
WebScarab
WebScarab ist ein Java-basiertes Sicherheits-Framework für die Analyse von Webanwendungen mit HTTP- oder HTTPS-Protokoll. Mit verfügbaren Plugins können Sie die Funktionalität des Tools erweitern.
Dieses Tool arbeitet als abfangender Proxy; Sie können die Requests und Responses, die in Ihrem Browser ankommen und an den Server gehen, überprüfen. Sie können auch die Anfrage oder Antwort ändern, bevor sie vom Server oder Browser empfangen werden.
Wenn Sie ein Anfänger sind, ist dieses Tool nicht für Sie geeignet. Dieses Tool wurde für diejenigen entwickelt, die ein gutes Verständnis des HTTP-Protokolls haben und Codes schreiben können.
WebScarab bietet viele Funktionen, die Penetrationstestern helfen, eine Webanwendung genau zu untersuchen und Sicherheitslücken zu finden. Es verfügt über einen Spider, der automatisch neue URLs der Ziel-Website finden kann. Er kann leicht Skripte und den HTML-Code der Seite extrahieren. Der Proxy beobachtet den Verkehr zwischen dem Server und Ihrem Browser, und Sie können die Kontrolle über die Anfrage und die Antwort übernehmen, indem Sie verfügbare Plugins verwenden. Die verfügbaren Module können die häufigsten Schwachstellen wie SQL-Injection, XSS, CRLF und viele andere Schwachstellen leicht erkennen.
Der Quellcode des Tools ist auf GitHub hier verfügbar.
Laden Sie WebScarab hier herunter.
Skipfish
Skipfish ist ein weiteres nettes Sicherheits-Tool für Webanwendungen. Es crawlt die Website und prüft dann jede Seite auf verschiedene Sicherheitsbedrohungen. Am Ende erstellt es den Abschlussbericht.
Dieses Tool wurde in C geschrieben. Es ist hochgradig für die HTTP-Bearbeitung optimiert und beansprucht ein Minimum an CPU. Es behauptet, dass es problemlos 2.000 Anfragen pro Sekunde verarbeiten kann, ohne die CPU zu belasten. Es verwendet einen heuristischen Ansatz beim Crawlen und Testen von Webseiten und behauptet, eine hohe Qualität und weniger Fehlalarme zu bieten.
Dieses Tool ist für Linux, FreeBSD, MacOS X und Windows verfügbar.
Laden Sie Skipfish oder den Code von Google Codes hier herunter.
Ratproxy
Ratproxy ist ein Open-Source-Tool zur Überprüfung der Sicherheit von Webanwendungen, mit dem sich Sicherheitslücken in Webanwendungen finden lassen. Es unterstützt Linux-, FreeBSD-, MacOS X- und Windows (Cygwin)-Umgebungen.
Dieses Tool wurde entwickelt, um die Probleme zu überwinden, mit denen Benutzer normalerweise bei der Verwendung anderer Proxy-Tools für Sicherheitsaudits konfrontiert werden. Es ist in der Lage, zwischen CSS-Stylesheets und JavaScript-Codes zu unterscheiden. Es unterstützt auch den SSL-Man-in-the-Middle-Angriff, was bedeutet, dass Sie auch Daten sehen können, die durch SSL laufen.
Sie können hier mehr über dieses Tool lesen.
Laden Sie es hier herunter.
SQLMap
SQLMap ist ein weiteres beliebtes Open-Source-Tool für Penetrationstests. Es automatisiert den Prozess des Auffindens und Ausnutzens von SQL-Injection-Schwachstellen in der Datenbank einer Website. Es verfügt über eine leistungsstarke Erkennungs-Engine und viele nützliche Funktionen. Auf diese Weise kann ein Penetrationstester leicht eine SQL-Injection-Prüfung einer Website durchführen.
Es unterstützt eine Reihe von Datenbankservern, darunter MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase und SAP MaxDB. Es bietet volle Unterstützung für sechs Arten von SQL-Injection-Techniken: zeitbasiert blind, boolesch-basiert blind, fehlerbasiert, UNION-Abfrage, gestapelte Abfragen und Out-of-Band.
Zugriff auf den Quellcode auf GitHub hier.
Laden Sie SQLMap hier herunter.
Wfuzz
Wfuzz ist ein weiteres frei verfügbares Open-Source-Tool für Penetrationstests von Webanwendungen. Es kann zum Brute-Force von GET- und POST-Parametern für Tests gegen verschiedene Arten von Injektionen wie SQL, XSS, LDAP und viele andere verwendet werden. Es unterstützt auch Cookie Fuzzing, Multi-Threading, SOCK, Proxy, Authentifizierung, Parameter Brute-Forcing, Multiple Proxy und viele andere Dinge.
Dieses Tool bietet keine GUI-Schnittstelle, so dass Sie mit der Kommandozeilen-Schnittstelle arbeiten müssen.
Sie können hier mehr über die Funktionen des Tools lesen.
Laden Sie Wfuzz von code.google.com hier herunter.
Grendel-Scan
Grendel-Scan ist ein weiteres nettes Open-Source-Tool für die Sicherheit von Webanwendungen. Dabei handelt es sich um ein automatisches Tool zum Auffinden von Sicherheitslücken in Webanwendungen. Viele Funktionen sind auch für manuelle Penetrationstests verfügbar. Dieses Tool ist für Windows, Linux und Macintosh verfügbar und wurde in Java entwickelt.
Laden Sie das Tool und den Quellcode hier herunter.
Watcher
Watcher ist ein passiver Web-Sicherheitsscanner. Er greift nicht mit Unmengen von Anfragen an oder crawlt die Ziel-Website. Es ist kein separates Tool, sondern ein Add-on zu Fiddler, so dass Sie zuerst Fiddler und dann Watcher installieren müssen, um es zu verwenden.
Es analysiert in aller Ruhe die Anfragen und Antworten der Benutzerinteraktion und erstellt dann einen Bericht über die Anwendung. Da es sich um einen passiven Scanner handelt, hat er keinen Einfluss auf die Hosting- oder Cloud-Infrastruktur der Website.
Laden Sie Watcher und seinen Quellcode hier herunter.
X5S
X5S ist ebenfalls ein Fiddler-Add-on, das eine Möglichkeit bietet, Cross-Site-Scripting-Schwachstellen zu finden. Dies ist kein automatisches Tool, daher müssen Sie verstehen, wie Kodierungsprobleme zu XSS führen können, bevor Sie es verwenden. Sie müssen den Injektionspunkt manuell finden und dann prüfen, wo sich XSS in der Anwendung befinden könnte.
Wir haben X5S in einem früheren Beitrag behandelt. Sie können diesen Artikel lesen, um mehr über X5S und XSS zu erfahren.
Laden Sie X5S und den Quellcode von Codeplex hier herunter.
Sie können auch diese offizielle Anleitung lesen, um zu erfahren, wie Sie X5S verwenden.
Arachni
Arachni ist ein Open-Source-Tool, das für die Bereitstellung einer Umgebung für Penetrationstests entwickelt wurde. Dieses Tool kann verschiedene Sicherheitslücken in Webanwendungen erkennen. Es kann verschiedene Schwachstellen wie SQL Injection, XSS, Local File Inclusion, Remote File Inclusion, Unvalidated Redirect und viele andere erkennen.
Laden Sie sich dieses Tool hier herunter.
Schlusswort
Dies sind die besten Open-Source-Tools für Sicherheitstests von Webanwendungen. Ich habe mein Bestes getan, um alle online verfügbaren Tools aufzulisten. Wenn ein Tool seit vielen Jahren nicht mehr aktualisiert wurde, habe ich es hier nicht erwähnt; das liegt daran, dass ein Tool, das mehr als 10 Jahre alt ist, Kompatibilitätsprobleme in der aktuellen Umgebung verursachen kann.
Wenn Sie ein Entwickler sind, können Sie auch der Entwickler-Community dieser Tools beitreten und ihnen helfen zu wachsen. Indem Sie diesen Tools helfen, werden Sie auch Ihr Wissen und Ihre Expertise erweitern.
Wenn Sie mit Penetrationstests beginnen wollen, empfehle ich Ihnen, Linux-Distributionen zu verwenden, die für Penetrationstests entwickelt wurden. Diese Umgebungen sind Backtrack, Gnacktrack, Backbox und BlackBuntu. Alle diese Tools enthalten verschiedene kostenlose und Open-Source-Tools für Website-Penetrationstests.