Web Application Penetrationstest

Das Testen von Webanwendungen ist unsere Spezialität. Wir finden Sicherheitslücken und Schwachstellen in Ihren Websites - egal ob SaaS oder Online-Shop.

Unser Penetrationstest für Webseiten bietet eine gründliche Analyse Ihrer Webanwendungen, um potenzielle Sicherheitslücken aufzudecken. Authentifizierung, Autorisierung, Datenvalidierung und andere kritische Sicherheitsbereiche werden detailliert getestet. Letzteres ist wichtig, weil heutzutage Websites und Webapps das Interface zwischen Nutzer und Server ist - auf letzterem befinden sich die interessanten und sensiblen Daten.

Penetrationstests

Pentest gegen Webanwendungen

Aus Angreiferperspektive sind Webanwendungen wahnsinnig interessant. Die meisten Websites erlauben einen Login, was bedeutet, dass sich in den Datenbanken Nutzerdaten (PII) befinden werden. Im Fall von Onlineshops oder SaaS-Plattform ist außerdem davon auszugehen, dass Finanzdaten der Nutzer zu finden sein könnten. Für Sie als Betreiber solcher Websites ist es daher wichtig sicherzustellen, dass Ihre Anwendung keine Sicherheitslücken aufweist. Im schlimmsten Fall könnten Angreifer schützenswerte Daten entwenden!

Informationen zu Kosten, Ablauf, Dauer und Arten von Web-Penetrationstests finden Sie etwas weiter unten auf dieser Seite - sie gelten allgemein für jede Art von Penetrationstest unabhängig vom Zielsystem. Im Allgemeinen ist es uns immer wichtig die Webapp, die wir testen sollen, gut kennen zu lernen. Das bedeutet, dass uns beispielsweise ein komplettes Demo/Test-System zur Verfügung gestellt werden muss zu dem wir vollen Zugang haben. Der Auftraggeber sollte das System mit sinnvollen Testdaten füllen und für jede Nutzergruppe mindestens zwei Nutzer anlegen. Anschließend können wir relativ zügig feststellen, welche Nutzergruppe was machen darf und was nicht möglich sein sollte. Zwei Beispiele: Ein normaler Nutzer sollte nicht in der Lage sein die Daten anderer Nutzer zu lesen oder zu ändern. Er sollte sich auch nicht selbst zu einem Administrator machen dürfen

Auch ein Website-Pentest ist primär ein manueller Test, den wir in der Regel mit Software, wie Burp Suite oder Caido, durchführen. Hierbei untersuchen wir jeden Request, den ein Nutzer an den Server schickt. Automatisierte Methoden verwenden wir sehr gezielt - vermuten wir beispielsweise eine Path Traversal-Lücke, lassen wir das automatisiert prüfen.

Damian Strobel

"Websites und Webanwendungen sind extrem interessante Ziele für Blackhats - in der Regel lassen sich dort interessante Daten finden."

Damian Strobel - Gründer von DSecured

Lassen Sie es nicht darauf ankommen und schützen Sie Ihre Webanwendung vor Cyberangriffen.

Pentest Kosten: Faktor Dauer

Sparpotential bei Webapplication-Penetrationstests

Im Fall von Penetrationstests gegen Webapplikationen sind wir relativ flexibel, was die Prüfintensität angeht. Der Grad an Automatisierung und manueller Prüfung kann je nach Wunsch des Kunden angepasst werden. Die folgenden Szenarien sind möglich:

  • 15% manuell/85% automatisiert - günstig, aber oberflächlich. Der Fokus liegt auf Angriffsvektoren, die sehr häufig Probleme verursachen. Wir nutzern lediglich automatisierte Scans.

  • 50% manuell/50% automatisiert - moderater Preis, gute Qualität. Hier werden die "interessantesten" Requests manuell analysiert. Alle anderen werden automatisiert geprüft.

  • 85% manuell/15% automatisiert - teuer, aber sehr gründlich. Jeder Request wird gründlich analysiert. Der Fokus liegt auf einem vollständigen manuellen Pentest.

API Penetrationtest vs Web Penetrationstest

Ein API-Penetrationstest ist im Grunde genommen ein Web-Penetrationstest, der sich auf die Schnittstellen konzentriert. Moderne Webanwendenungen sind häufig eine Javascript-Frontend (AngularJS, ReactJS, VueJS), das mit dem Backend über eine API kommuniziert. Das Vorgehen ist im Vergleich zu einem Webapp-Pentest ganz ähnlich. Aufgrund der häufig zur Verfügung stehenden API-Dokumentation (Swagger, OpenAI, GraphQL) können wir eine API relativ schnell aber gründlich testen.

API Penetrationtest vs Web Penetrationstest

Relevanz von Web-Frameworks für Pentests

Mit dem Ziegeszug so genannter Web-Frameworks wie Laravel, Django, Ruby on Rails, Spring Boot (Java) sowie .NET wurde ein Werkzeug geschaffen mit dem es aus Entwicklersicht deutlich schwerer ist, schwere Sicherheitslücken zu produzieren - vorausgesetzt, es wird korrekt verwendet - was nicht immer der Fall ist. Trotzdem stellen wir fest, dass jedes Framework seine "Eigenheiten" hat, so finden wir bei Laravel Pentests seltener XSS oder SQL Injections, dafür häufiger Probleme im Bereich Mass Assignement. Java- und ASP-Frameworks haben hingegen öfter Probleme mit Dateiverarbeitung. Ein Pentest ist also auch bei modernen Web-Frameworks sinnvoll.

# Laravel Pentest # WordPress Pentest # Typo3 Pentest # Django Pentest # Drupal Pentest # Spring Boot Pentest # Symfony Pentest # PHP Pentest # Python Pentest # Java Pentest # ASP.Net Pentest # NodeJs Pentest
Relevanz von Web-Frameworks für Pentests
Methodik bei Web Application-Pentests

Methodik bei Web Application-Pentests

Der Klassiker, wenn es um Pentest-Methodik in Zusammenhang mit Webapplikationen geht, ist die OWASP Top 10 Liste. Sie beinhaltet die häufigsten Sicherheitslücken, die in Webapplikationen gefunden werden. Das Problem ist: es sind nicht alle. Ein Angreifer ist allgemein sehr kreativ, er kombiniert Sicherheitslücken und macht daraus komplexe Angriffe. So arbeiten wir ebenfalls. Wir arbeiten nicht stupide irgendwelche Listen ab - wir suchen nach Dingen, die für Sie zum Problem werden können - isoliert oder in Kombination. Trotzdem: OWASP (siehe Web Security Testing Guide) sowie BSI (Pentest-Durchführung) sind für uns der absolute Standard.

Web application penetration testing: Sicherheitslücken

Es gibt diverse Arten von Sicherheitslücken, die in Webapplikationen gefunden werden können. Die Beispiele hier sind echte Beispiele aus vergangenen Penetrationstests. Hier finden Sie die häufigsten:

Cross Site Scripting (XSS)

Ein Angreifer kann HTML-Code in die Websiteausgabe einschleusen. So etwas kann dazu genutzt werden, Daten von anderen Nutzern zu exfiltrieren.

SQL Injection

Dieser Art von Schwachstelle erlaubt es die Inhalte der Datenbank auszulesen. Oft wird hierfür das Tool SQLMap verwendet. Der Angreifer kann so beispeislweise die ganze Nutzerdatenbank herunterladen.

File uploads

Upload-Funktionen erlauben es oft Dateien hochzuladen, die die Übernahme des Servers vereinfachen (Shells). Es ist nicht so trivial Upload-Funktionen sicher zu programmieren.

Server Side Request Forgery

Ein Angreifer kann den Webserver dazu bringen Anfragen an interne Systeme zu senden. Das wird vor allem dann interessant, wenn die Webapp auf z.B. AWS gehostet wird (Stichwort Metadata API).

Insecure Direct Object Reference

Kann ein Angreifer über das Nutzerinterface auch die Nutzerdaten (oder andere Daten) eines anderen Nutzers lesen oder ändern?

Ausgabe sensibler Daten

Untersucht man Requests, sieht man oft, dass zu viele und vor allem sensible Daten ausgegeben werden. Das passiert häufig bei eingeloggten Administratoren.

Wir würden gerne die Sicherheit Ihrer Webanwendung testen.

Einige Unternehmen, denen wir bisher helfen konnten

Grab
PayPal
BMW
Goldman Sachs
Starbucks
ATT
TikTok
Hilton
Kontaktieren Sie DSecured

Web-Pentest anfragen