beginners guide web application penetration testing
Penetrationstests aka Pen Test ist die am häufigsten verwendete Sicherheitstestmethode für Webanwendungen.
Penetrationstests für Webanwendungen werden durchgeführt, indem nicht autorisierte Angriffe intern oder extern simuliert werden, um Zugriff auf vertrauliche Daten zu erhalten.
Eine Web-Penetration hilft dem Endbenutzer, die Möglichkeit für einen Hacker herauszufinden, über das Internet auf die Daten zuzugreifen, die Sicherheit seiner E-Mail-Server zu ermitteln und zu erfahren, wie sicher die Webhosting-Site und der Server sind.
Lassen Sie uns nun den Inhalt dieses Artikels behandeln.
Was sind einige gute Anime-Websites
(Bild Quelle )
In diesem Tutorial zu Penetrationstests habe ich versucht, Folgendes zu behandeln:
- Die Notwendigkeit von Pentest für das Testen von Webanwendungen,
- Standardmethode für Pentest verfügbar,
- Ansatz für Webanwendung Pentest,
- Welche Arten von Tests können wir durchführen?
- Schritte zur Durchführung eines Penetrationstests,
- Werkzeuge, die zum Testen verwendet werden können,
- Einige der Penetrationstest-Dienstleister und
- Einige der Zertifizierungen für Web-Penetrationstests
Empfohlene Tools zum Scannen von Sicherheitslücken:
# 1) Netzparker
Netsparker ist eine benutzerfreundliche und automatisierte Plattform für Sicherheitstests für Webanwendungen, mit der Sie echte und ausnutzbare Schwachstellen auf Ihren Websites identifizieren können.
=> Probieren Sie das beste Netsparker Penetration Testing Tool aus
#zwei) Kiuwan
Suchen und beheben Sie Schwachstellen in Ihrem Code in jeder Phase des SDLC.
Kiuwan erfüllt die strengsten Sicherheitsstandards, darunter OWASP, CWE, SANS 25, HIPPA und mehr. Integrieren Sie Kiuwan in Ihre IDE, um sofortiges Feedback während der Entwicklung zu erhalten. Kiuwan unterstützt alle wichtigen Programmiersprachen und lässt sich in führende DevOps-Tools integrieren.
=> Scannen Sie Ihren Code kostenlosWas du lernen wirst:
- Warum sind Penetrationstests erforderlich?
- Testmethode für Web-Penetrationstests
- Arten von Web-Penetrationstests
- Web Pen Testing-Ansatz:
- Top Penetrationstest-Tools
- Top Penetration Testing Unternehmen
- Einige Penetrationstest-Zertifizierungen:
- Fazit
- Literatur-Empfehlungen
Warum sind Penetrationstests erforderlich?
Wenn wir über Sicherheit sprechen, hören wir am häufigsten das Wort Verletzlichkeit .
Als ich anfing, als Sicherheitstester zu arbeiten, wurde ich sehr oft mit diesem Wort Vulnerability verwechselt, und ich bin sicher, dass viele von Ihnen, meine Leser, in dasselbe Boot fallen würden.
Zum Nutzen aller meiner Leser werde ich zunächst den Unterschied zwischen Sicherheitslücke und Stifttests klären.
Also was ist Verletzlichkeit ? Die Sicherheitsanfälligkeit ist eine Terminologie, mit der Fehler im System identifiziert werden, die das System Sicherheitsbedrohungen aussetzen können.
Vulnerability Scanning oder Pen Testing?
Durch das Scannen von Sicherheitslücken kann der Benutzer die bekannten Schwachstellen in der Anwendung herausfinden und Methoden definieren, um die Gesamtsicherheit der Anwendung zu beheben und zu verbessern. Grundsätzlich wird herausgefunden, ob Sicherheitspatches installiert sind und ob die Systeme richtig konfiguriert sind, um Angriffe zu erschweren.
Pen Tests simulieren hauptsächlich Echtzeitsysteme und helfen dem Benutzer herauszufinden, ob nicht autorisierte Benutzer auf das System zugreifen können. Wenn ja, welche Schäden können verursacht werden und an welchen Daten usw.
Daher ist das Scannen von Sicherheitslücken eine Detektivkontrollmethode, die Möglichkeiten zur Verbesserung des Sicherheitsprogramms vorschlägt und sicherstellt, dass bekannte Schwachstellen nicht erneut auftreten, während der Pen-Test eine vorbeugende Kontrollmethode ist, die einen Gesamtüberblick über die vorhandene Sicherheitsschicht des Systems bietet.
Beide Methoden haben zwar ihre Bedeutung, hängen jedoch davon ab, was im Rahmen der Tests wirklich erwartet wird.
Als Tester ist es unerlässlich, den Zweck des Tests klar zu definieren, bevor wir mit dem Testen beginnen. Wenn Sie sich über das Ziel im Klaren sind, können Sie sehr gut definieren, ob Sie einen Schwachstellenscan oder einen Stifttest durchführen müssen.
Bedeutung und Notwendigkeit von Web App Pen-Tests:
- Pentest Hilft bei der Identifizierung unbekannter Schwachstellen.
- Hilft bei der Überprüfung der Wirksamkeit der allgemeinen Sicherheitsrichtlinien.
- Hilfe beim Testen der öffentlich verfügbaren Komponenten wie Firewalls, Router und DNS.
- Ermöglicht dem Benutzer, den anfälligsten Weg zu finden, über den ein Angriff ausgeführt werden kann
- Hilft bei der Suche nach Lücken, die zum Diebstahl sensibler Daten führen können.
Wenn Sie sich die aktuelle Marktnachfrage ansehen, hat die mobile Nutzung stark zugenommen, was zu einem großen Angriffspotenzial wird. Der Zugriff auf Websites über Mobiltelefone ist häufiger Angriffen und damit einer Datenkompromittierung ausgesetzt.
Penetrationstests werden daher sehr wichtig, um sicherzustellen, dass wir ein sicheres System aufbauen, das von Benutzern verwendet werden kann, ohne sich um Hacking oder Datenverlust sorgen zu müssen.
Testmethode für Web-Penetrationstests
Die Methodik ist nichts anderes als eine Reihe von Richtlinien der Sicherheitsbranche, wie die Tests durchgeführt werden sollten. Es gibt einige gut etablierte und bekannte Methoden und Standards, die zum Testen verwendet werden können. Da jedoch für jede Webanwendung unterschiedliche Testarten erforderlich sind, können Tester ihre eigenen Methoden erstellen, indem sie auf die auf dem Markt verfügbaren Standards verweisen.
Einige der Sicherheitstestmethoden und -standards sind:
- OWASP (Öffnen Sie das Sicherheitsprojekt für Webanwendungen.)
- OSSTMM (Handbuch zur Open Source-Sicherheitstestmethode)
- PTF (Penetration Testing Framework)
- ISSAF (Sicherheitsbewertungsrahmen für Informationssysteme)
- PCI DSS (Datensicherheitsstandard der Zahlungskartenindustrie)
Testszenarien:
Nachfolgend sind einige der Testszenarien aufgeführt, die als Teil von getestet werden können Penetrationstests für Webanwendungen (WAPT):
- Cross Site Scripting
- SQL-Injektion
- Unterbrochene Authentifizierung und Sitzungsverwaltung
- Fehler beim Hochladen von Dateien
- Caching-Server-Angriffe
- Sicherheitsfehlkonfigurationen
- Fälschung von standortübergreifenden Anfragen
- Passwort knacken
Obwohl ich die Liste erwähnt habe, sollten Tester ihre Testmethodik nicht blind auf der Grundlage der oben genannten konventionellen Standards erstellen.
Hier ist eineBeispielum zu beweisen, warum ich das sage.
Stellen Sie sich vor, Sie werden gebeten, eine E-Commerce-Website einem Penetrationstest zu unterziehen. Überlegen Sie nun, ob alle Schwachstellen einer E-Commerce-Website mithilfe der herkömmlichen OWASP-Methoden wie XSS, SQL-Injection usw. identifiziert werden können.
Die Antwort lautet Nein, da E-Commerce im Vergleich zu anderen Websites auf einer ganz anderen Plattform und Technologie funktioniert. Um Ihre Stifttests für die E-Commerce-Website effektiv zu gestalten, sollten Tester eine Methodik entwickeln, die Fehler wie Auftragsmanagement, Coupon- und Prämienmanagement, Integration von Zahlungsgateways und Integration von Content Management-Systemen umfasst.
Bevor Sie sich für eine Methodik entscheiden, sollten Sie genau wissen, welche Arten von Websites getestet werden sollen und welche Methode dabei hilft, die maximalen Sicherheitslücken zu finden.
Was ist das beste kostenlose Tool zum Entfernen von Malware?
Arten von Web-Penetrationstests
Webanwendungen können auf zwei Arten auf Penetration getestet werden. Tests können so gestaltet werden, dass sie einen Innen- oder einen Außenangriff simulieren.
# 1) Interne Penetrationstests -
Wie der Name schon sagt, werden die internen Stifttests innerhalb des Unternehmens über das LAN durchgeführt. Daher werden auch Webanwendungen getestet, die im Intranet gehostet werden.
Auf diese Weise können Sie herausfinden, ob in der Unternehmensfirewall Sicherheitslücken bestehen können.
Wir glauben immer, dass Angriffe nur extern stattfinden können und der interne Pentest vieler Male übersehen wird oder nicht viel Bedeutung hat.
Grundsätzlich umfasst es böswillige Mitarbeiterangriffe von verärgerten Mitarbeitern oder Auftragnehmern, die zurückgetreten wären, aber die internen Sicherheitsrichtlinien und -kennwörter, Social Engineering-Angriffe, die Simulation von Phishing-Angriffen und Angriffe mit Benutzerrechten oder den Missbrauch eines entsperrten Terminals kennen.
Das Testen erfolgt hauptsächlich durch Zugriff auf die Umgebung ohne ordnungsgemäße Anmeldeinformationen und Identifizierung, ob eine
#zwei) Externe Penetrationstests -
Hierbei handelt es sich um Angriffe, die extern von außerhalb des Unternehmens ausgeführt werden. Dazu gehört das Testen von Webanwendungen, die im Internet gehostet werden.
Tester verhalten sich wie Hacker, die das interne System nicht genau kennen.
Um solche Angriffe zu simulieren, erhalten Tester die IP des Zielsystems und keine weiteren Informationen. Sie müssen öffentliche Webseiten durchsuchen und scannen, unsere Informationen zu Zielhosts finden und dann die gefundenen Hosts gefährden.
Orakel SQL-Fragen Interview Fragen und Antworten für erfahrene PDF
Grundsätzlich umfasst es das Testen von Servern, Firewalls und IDS.
Web Pen Testing-Ansatz:
Es kann in 3 Phasen durchgeführt werden:
# 1) Planungsphase (vor dem Testen)
Vor Beginn des Tests ist es ratsam zu planen, welche Testarten durchgeführt werden, wie die Tests durchgeführt werden, festzustellen, ob für die Qualitätssicherung zusätzlicher Zugriff auf Tools erforderlich ist usw.
- Geltungsbereichsdefinition - Dies ist dasselbe wie bei unseren Funktionstests, bei denen wir den Umfang unserer Tests definieren, bevor wir mit unseren Testbemühungen beginnen.
- Verfügbarkeit der Dokumentation für Tester - Stellen Sie sicher, dass die Tester über alle erforderlichen Dokumente verfügen, z. B. über die Webarchitektur, Integrationspunkte, die Integration von Webdiensten usw. Der Tester sollte die Grundlagen des HTTP / HTTPS-Protokolls kennen und über die Webanwendungsarchitektur und die Möglichkeiten zum Abfangen des Datenverkehrs informiert sein.
- Ermittlung der Erfolgskriterien - Im Gegensatz zu unseren Funktionstestfällen, bei denen wir erwartete Ergebnisse aus Benutzeranforderungen / Funktionsanforderungen ableiten können, arbeiten Pen-Tests mit einem anderen Modell. Die Erfolgskriterien oder die Testfall-Bestehenskriterien müssen definiert und genehmigt werden.
- Überprüfen der Testergebnisse aus den vorherigen Tests - Wenn zuvor Tests durchgeführt wurden, sollten Sie die Testergebnisse überprüfen, um zu verstehen, welche Sicherheitslücken in der Vergangenheit bestanden und welche Korrekturen zur Behebung durchgeführt wurden. Dies gibt immer ein besseres Bild der Tester.
- Umwelt verstehen - Tester sollten sich vor Beginn des Tests mit der Umgebung vertraut machen. Dieser Schritt sollte sicherstellen, dass sie ein Verständnis für Firewalls oder andere Sicherheitsprotokolle erhalten, die für die Durchführung der Tests deaktiviert werden müssen. Der zu testende Browser sollte in eine Angriffsplattform konvertiert werden, normalerweise durch Ändern der Proxys.
# 2) Angriffe / Ausführungsphase (während des Testens):
Web-Penetrationstests können von jedem Ort aus durchgeführt werden, da der Internetanbieter keine Einschränkungen für Ports und Dienste festlegen sollte.
- Stellen Sie sicher, dass Sie einen Test mit verschiedenen Benutzerrollen ausführen. Tester sollten sicherstellen, dass Tests mit Benutzern mit unterschiedlichen Rollen ausgeführt werden, da sich das System in Bezug auf Benutzer mit unterschiedlichen Berechtigungen möglicherweise anders verhält.
- Bewusstsein für den Umgang mit Post-Exploitation - Tester müssen die Erfolgskriterien befolgen, die als Teil von Phase 1 definiert wurden, um jede Ausnutzung zu melden. Außerdem sollten sie den definierten Prozess zum Melden von Schwachstellen befolgen, die während des Testens festgestellt wurden. Bei diesem Schritt muss der Tester hauptsächlich herausfinden, was zu tun ist, nachdem er festgestellt hat, dass das System kompromittiert wurde.
- Erstellung von Testberichten - Tests, die ohne ordnungsgemäße Berichterstellung durchgeführt werden, helfen dem Unternehmen nicht viel. Dies gilt auch für Penetrationstests von Webanwendungen. Um sicherzustellen, dass die Testergebnisse ordnungsgemäß an alle Beteiligten weitergegeben werden, sollten Tester ordnungsgemäße Berichte mit Details zu den gefundenen Schwachstellen, der zum Testen verwendeten Methodik, dem Schweregrad und dem Ort des gefundenen Problems erstellen.
# 3) Phase nach der Ausführung (nach dem Testen):
Sobald der Test abgeschlossen ist und die Testberichte an alle betroffenen Teams weitergegeben wurden, sollte die folgende Liste von allen bearbeitet werden:
- Schlagen Sie eine Sanierung vor - Das Testen von Stiften sollte nicht nur mit der Identifizierung von Schwachstellen enden. Das betroffene Team, einschließlich eines QS-Mitglieds, sollte die von den Testern gemeldeten Ergebnisse überprüfen und anschließend die Korrektur erörtern.
- Sicherheitslücken erneut testen - Nachdem die Korrektur durchgeführt und implementiert wurde, sollten Tester erneut testen, um sicherzustellen, dass die behobenen Sicherheitsanfälligkeiten nicht als Teil ihres erneuten Tests aufgetreten sind.
- Aufräumen - Im Rahmen des Pentest nehmen Tester Änderungen an den Proxy-Einstellungen vor. Daher sollte eine Bereinigung durchgeführt und alle Änderungen zurückgesetzt werden.
Top Penetrationstest-Tools
Jetzt, da Sie bereits den vollständigen Artikel gelesen haben, haben Sie meiner Meinung nach eine viel bessere Vorstellung davon, was und wie wir eine Webanwendung einem Penetrationstest unterziehen können.
Sagen Sie mir also, können wir Penetrationstests manuell durchführen oder geschieht dies immer durch Automatisierung mit einem Tool? Kein Zweifel, ich denke, die Mehrheit von Ihnen sagt Automatisierung. :) :)
Dies ist richtig, da die Automatisierung die Geschwindigkeit erhöht, manuelle menschliche Fehler, eine hervorragende Abdeckung und einige andere Vorteile vermeidet. Für den Pen-Test müssen wir jedoch einige manuelle Tests durchführen.
Manuelle Tests helfen beim Auffinden von Schwachstellen im Zusammenhang mit Business Logic und reduzieren die Fehlalarme.
Tools neigen dazu, viele Fehlalarme zu geben. Daher ist ein manueller Eingriff erforderlich, um festzustellen, ob es sich um echte Sicherheitslücken handelt.
Lesen Sie auch - - So testen Sie die Sicherheit von Webanwendungen mit dem Acunetix Web Vulnerability Scanner (WVS)
Es werden Tools erstellt, um unsere Testbemühungen zu automatisieren. Nachfolgend finden Sie eine Liste einiger Tools, die für Pentest verwendet werden können:
Weitere Tools finden Sie auch unter - - 37 Leistungsstarke Stifttestwerkzeuge für jeden Penetrationstester
Top Penetration Testing Unternehmen
Dienstleister sind Unternehmen, die Dienstleistungen anbieten, die auf die Testanforderungen der Organisationen zugeschnitten sind. Sie zeichnen sich in der Regel durch hervorragende Fachkenntnisse in verschiedenen Testbereichen aus und können Tests in ihrer gehosteten Testumgebung durchführen.
Im Folgenden sind einige der führenden Unternehmen aufgeführt, die Penetrationstests anbieten:
- PSC (Einhaltung der Zahlungssicherheit)
- Netragard
- Sicher
- Kohlefeuer
- HIGHBIT-Sicherheit
- Nettitude
- 360
- NetSPi
- ControlScan
- Skods Minotti
- 2 | Sec
- Sicherheitsbewertung
- Sicherheitsüberprüfungssysteme
- Hacklabs
- CQR
Einige Penetrationstest-Zertifizierungen:
Wenn Sie an einer Zertifizierung für die Penetrationszertifizierung für Web-Apps interessiert sind, können Sie sich für die folgenden Zertifizierungen entscheiden:
- OSWE (Offensive Security Web Expert)
- GWAPT (GIAC Web Application Penetration Tester)
- CWAPT (Zertifizierter Web App Penetration Tester)
- eWPT (elearnSecurity Web Application Penetration Tester)
Fazit
In diesem Tutorial haben wir einen Überblick darüber gegeben, wie Penetrationstests für Webanwendungen durchgeführt werden.
Mit diesen Informationen kann der Penetrationstester Schwachstellentests starten.
Im Idealfall können wir durch Penetrationstests sichere Software erstellen. Es ist eine kostspielige Methode, so dass die Frequenz einmal im Jahr beibehalten werden kann.
Um mehr über Penetrationstests zu erfahren, lesen Sie bitte die folgenden Artikel:
- Ein Ansatz zum Testen der Sicherheit von Webanwendungen
- Penetrationstests - Vollständiger Leitfaden mit Beispieltestfällen
- Testen der Anwendungssicherheit - Testtechniken für die Sicherheit von Web- und Desktopanwendungen
Bitte teilen Sie unten Ihre Ansichten oder Erfahrungen zu Pentest mit.
Literatur-Empfehlungen
- Testhandbuch für die Sicherheit von Webanwendungen
- Netzwerksicherheitstests und beste Netzwerksicherheitstools
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Alpha-Tests und Beta-Tests (eine vollständige Anleitung)
- Sicherheitstests (eine vollständige Anleitung)
- Ein vollständiger Leitfaden für Penetrationstests mit Beispieltestfällen
- Tools und Dienstanbieter für Penetrationstests für mobile Anwendungen
- Unterschied zwischen Desktop-, Client Server-Tests und Web-Tests