Web Pentest: Anwendung, typische Fehler, Praxiswissen und saubere Workflows
Web Pentests mit Burp Suite richtig aufsetzen und sauber eingrenzen
Ein belastbarer Web Pentest beginnt nicht mit Payloads, sondern mit Scope, Sichtbarkeit und reproduzierbaren Rahmenbedingungen. Burp Suite ist dann stark, wenn Requests vollständig kontrolliert, Sessions stabil gehalten und Testpfade nachvollziehbar dokumentiert werden. Viele Fehldiagnosen entstehen bereits in den ersten Minuten: falscher Proxy, unvollständiges Zertifikat, Browser außerhalb des Scopes, Login in mehreren Tabs, Caching durch den Browser oder unklare Trennung zwischen produktiven und testbaren Funktionen.
Vor dem ersten Request muss klar sein, welche Hosts, Subdomains, Ports und Protokolle erlaubt sind. Gerade bei modernen Anwendungen mit CDN, SSO, API-Gateway, Third-Party-Widgets und separaten Upload-Domains reicht es nicht, nur die Hauptdomain zu betrachten. Ein Scope, der zu eng gesetzt ist, blendet relevante Requests aus. Ein Scope, der zu weit gefasst ist, erzeugt Rauschen, unnötige History-Einträge und im schlimmsten Fall Traffic gegen fremde Systeme. Für die technische Basis sind Installation, Zertifikat Installieren und Proxy Einrichten die Mindestvoraussetzung, bevor überhaupt an Testtiefe zu denken ist.
Ein sauberer Start bedeutet außerdem, dass der Browserzustand kontrolliert wird. Ein frisches Profil ohne alte Cookies, ohne gespeicherte Logins und ohne störende Extensions reduziert Seiteneffekte. Besonders bei Session-Tests, Rollenwechseln und Autorisierungsprüfungen ist ein unkontrollierter Browserzustand eine häufige Ursache für falsche Ergebnisse. Wenn eine Anwendung aggressive JavaScript-Navigation, WebSockets oder asynchrone API-Aufrufe nutzt, muss der Traffic nicht nur sichtbar, sondern auch logisch gruppierbar sein. Genau dafür sind Scope-Regeln, History-Filter und eine klare Projektstruktur entscheidend.
Ein praxistauglicher Start-Workflow sieht so aus: Projekt anlegen, Scope definieren, Browser an Burp binden, Zertifikat prüfen, Login-Flows einmal vollständig durchlaufen, relevante Endpunkte markieren und erst danach mit gezielten Manipulationen beginnen. Wer direkt mit Intruder oder Scanner startet, ohne die Anwendung manuell verstanden zu haben, produziert meist nur Volumen statt Erkenntnis. Das gilt besonders für Single-Page-Apps, GraphQL-Endpunkte und JSON-basierte APIs, bei denen die eigentliche Logik oft nicht im sichtbaren Frontend, sondern in den Hintergrund-Requests liegt.
- Scope vor dem Test explizit auf erlaubte Hosts und Pfade begrenzen.
- Browserprofil isolieren, um Cookies, Cache und Erweiterungen unter Kontrolle zu halten.
- Login, Logout, Passwortwechsel und Rollenwechsel zunächst manuell nachvollziehen.
- Relevante Requests früh markieren: Authentifizierung, Session, Objektzugriffe, Uploads, Suchfunktionen, Admin-Aktionen.
Wer Burp Suite noch grundlegend strukturiert einrichten möchte, arbeitet zuerst mit Erste Schritte, dem Interface und dem Scope. Diese Basis entscheidet später darüber, ob Findings reproduzierbar und belastbar sind oder ob Requests im Rauschen untergehen.
Proxy, Intercept und History: Sichtbarkeit ist wichtiger als Geschwindigkeit
Der Proxy ist das Herzstück jedes Web Pentests mit Burp Suite. Nicht weil er spektakulär ist, sondern weil ohne vollständige Sicht auf Requests und Responses keine belastbare Analyse möglich ist. Intercept wird in der Praxis oft missverstanden: Es ist kein Dauerzustand, sondern ein Werkzeug für gezielte Haltepunkte. Wer Intercept permanent aktiviert lässt, bremst die Anwendung, verändert Timing-Verhalten und erzeugt unnötige Fehlerbilder. Sinnvoll ist Intercept vor allem bei Login-Requests, Token-Austausch, Redirect-Ketten, Uploads und sicherheitskritischen Aktionen wie Passwortänderungen oder Rollenverwaltung.
Die Proxy-History ist weit mehr als ein Mitschnitt. Sie ist die Rohdatenbasis für fast alle späteren Tests. Gute Pentester lesen History nicht nur nach URL, sondern nach Mustern: Welche Parameter tauchen wiederholt auf? Welche Requests enthalten IDs, Rollen, Flags oder Statuswerte? Welche Endpunkte liefern unterschiedliche Antworten bei minimalen Änderungen? Welche Requests setzen Cookies neu, rotieren Tokens oder liefern versteckte Metadaten? Genau hier trennt sich ein oberflächlicher Test von echter Analyse.
Ein häufiger Fehler ist die Konzentration auf sichtbare GET-Requests, während die eigentliche Logik in POST-, PUT-, PATCH- oder JSON-Requests liegt. Moderne Anwendungen transportieren Berechtigungsentscheidungen, Objektbezüge und Workflow-Zustände oft in API-Calls, die im Frontend kaum sichtbar sind. Deshalb muss die History konsequent gefiltert werden: nach MIME-Type, Methoden, Statuscodes, Parameternamen, Content-Type und Host. Wer das nicht tut, übersieht leicht den einen Request, der eine Berechtigungsprüfung nur im Frontend erzwingt, serverseitig aber nicht absichert.
Auch Responses verdienen mehr Aufmerksamkeit als üblich. Viele Schwachstellen zeigen sich nicht in offensichtlichen Fehlermeldungen, sondern in kleinen Unterschieden: anderer Content-Length-Wert, geänderte Redirect-Ziele, fehlende Header, abweichende JSON-Felder oder ein Statuscode 200 statt 403. Besonders bei IDOR, Session-Problemen und Business-Logic-Fehlern ist die Response-Analyse oft wichtiger als die Request-Manipulation selbst. Für die operative Arbeit sind Proxy, Proxy Intercept und Proxy History die zentralen Werkzeuge.
Wenn Burp scheinbar nichts anzeigt oder HTTPS-Verbindungen fehlschlagen, liegt die Ursache meist nicht an der Anwendung, sondern an der lokalen Kette aus Browser, Zertifikat, Proxy-Port und System-Proxy-Einstellungen. Typische Fehlerbilder sind Browser-Warnungen, leere History, Requests außerhalb des Burp-Browsers oder TLS-Fehler bei HSTS-geschützten Hosts. In solchen Fällen helfen strukturierte Prüfungen statt hektischer Neuinstallationen. Relevante Fehlerbilder sind unter Proxy Fehler und Zertifikat Fehler beschrieben.
GET /api/account/summary?id=1042 HTTP/1.1
Host: app.example.test
Cookie: session=eyJ...
X-Requested-With: XMLHttpRequest
HTTP/1.1 200 OK
Content-Type: application/json
{"user":"maria","role":"user","balance":1840,"accountId":1042}
Ein einzelner Request wie dieser ist noch kein Finding. Erst die Frage, ob id=1042 auf fremde Konten geändert werden kann, ob die Rolle nur im Frontend verborgen wird und ob derselbe Endpunkt auch mit einer zweiten Session funktioniert, macht daraus einen sicherheitsrelevanten Testfall.
Manuelle Analyse mit Repeater: Warum echte Findings fast immer hier entstehen
Repeater ist das präziseste Werkzeug in Burp Suite, weil hier Hypothesen kontrolliert geprüft werden. Während Proxy und History Sichtbarkeit liefern, erzeugt Repeater Verständnis. Jeder ernsthafte Test auf Authentifizierung, Autorisierung, Input-Validierung, Session-Bindung oder serverseitige Logik sollte im Repeater reproduzierbar sein. Nur dort lassen sich einzelne Parameter, Header, Cookies, Methoden und Bodies isoliert verändern, ohne dass das Frontend dazwischenfunkt.
Ein typischer Fehler besteht darin, zu viele Variablen gleichzeitig zu ändern. Wenn Parameter, Cookie, User-Agent und Methode in einem Schritt angepasst werden, ist später nicht mehr klar, welche Änderung den Effekt ausgelöst hat. Saubere Repeater-Arbeit bedeutet: eine Hypothese, eine Änderung, eine Beobachtung. Danach folgt der nächste Schritt. So entsteht eine belastbare Kette von Ursache und Wirkung. Das ist besonders wichtig bei Grenzfällen wie schwachen Rollenprüfungen, inkonsistenten Fehlercodes oder Session-Fixation.
Praxisnah wird Repeater vor allem bei folgenden Fragestellungen: Akzeptiert der Server zusätzliche Parameter, die das Frontend nie sendet? Lässt sich ein Objektbezug von numerischer ID auf UUID oder umgekehrt ändern? Reagiert die Anwendung unterschiedlich auf fehlende Header, doppelte Parameter oder manipulierte Content-Types? Werden serverseitige Prüfungen nur auf bestimmte HTTP-Methoden angewendet? Solche Fragen lassen sich nicht zuverlässig mit blindem Scannen beantworten.
Ein gutes Beispiel ist die Prüfung auf versteckte Rollen- oder Statusparameter. Viele Anwendungen senden Felder wie role=user, isAdmin=false oder approved=0 nicht sichtbar im Formular, aber im Request-Body oder als JSON-Feld. Im Repeater lässt sich testen, ob der Server diese Werte ignoriert, validiert oder gefährlich übernimmt. Ebenso wichtig ist die Prüfung doppelter Parameter. Manche Frameworks verarbeiten den ersten Wert, andere den letzten, wieder andere beide. Daraus entstehen reale Bypass-Szenarien.
POST /api/profile/update HTTP/1.1
Host: app.example.test
Content-Type: application/json
Cookie: session=eyJ...
{
"email":"user@example.test",
"displayName":"user1",
"role":"admin"
}
Wenn die Response hier mit 200 antwortet, ist das noch kein Beweis. Entscheidend ist, ob die Rollenänderung tatsächlich wirksam wird, ob sie persistiert, ob sie nur im Response gespiegelt wird oder ob ein nachgelagerter Request die Änderung verwirft. Deshalb gehört zu jedem Repeater-Test eine Verifikation über einen zweiten Endpunkt oder einen erneuten Abruf des Zustands.
Für tiefergehende Arbeit mit einzelnen Requests sind Repeater, Repeater Parameter Testen und Repeater Session Test besonders relevant. Gerade bei Session- und Rollenprüfungen ist Repeater das Werkzeug, mit dem aus einer Vermutung ein reproduzierbarer Nachweis wird.
Typische Schwachstellen im Web Pentest: nicht nur Payloads, sondern Kontrollverlust im Workflow
Viele Tester suchen zu früh nach bekannten Namen wie XSS oder SQL Injection und übersehen dabei die eigentlichen Schwächen der Anwendung. In realen Assessments sind Autorisierungsfehler, unsaubere Objektbindung, Session-Probleme, schwache Zustandsprüfungen und fehlerhafte Business-Logik oft relevanter als klassische Input-Schwachstellen. Burp Suite ist deshalb nicht nur ein Payload-Werkzeug, sondern vor allem ein Werkzeug zur Kontrolle von Zuständen und Übergängen.
XSS ist ein gutes Beispiel für diese Denkweise. Ein reflektierter Payload in einem Suchparameter ist schnell gefunden, aber die eigentliche Frage lautet: In welchem Kontext landet die Eingabe? HTML-Text, Attribut, JavaScript-String, URL-Kontext oder DOM-basiert nach clientseitiger Verarbeitung? Ohne Kontextanalyse ist jeder Payload nur Raten. Dasselbe gilt für SQL Injection. Ein Datenbankfehler im Response ist selten geworden. Häufiger sind Zeitverhalten, boolesche Unterschiede, veränderte Datensätze oder Seiteneffekte in API-Antworten. Wer nur auf Fehlermeldungen wartet, findet wenig.
Noch häufiger sind IDOR-Fälle. Ein Request mit /api/order/8127 oder userId=55 ist erst dann kritisch, wenn ein zweiter Benutzer auf fremde Objekte zugreifen kann. Dafür braucht es zwei Sessions, saubere Vergleichsrequests und eine klare Trennung zwischen horizontaler und vertikaler Autorisierung. Horizontal bedeutet Zugriff auf fremde Daten derselben Rolle, vertikal bedeutet Zugriff auf Funktionen höherer Rollen. Beide Fehlerarten werden oft verwechselt, obwohl die Auswirkungen unterschiedlich sind.
Auch Upload-Funktionen werden regelmäßig unterschätzt. Es reicht nicht, nur die Dateiendung zu ändern. Entscheidend ist, wie der Server MIME-Type, Dateisignatur, Speicherort, Abrufpfad, Bildverarbeitung und nachgelagerte Verarbeitung behandelt. Ein harmloser Upload kann kritisch werden, wenn Metadaten verarbeitet, Dateien öffentlich ausgeliefert oder serverseitig konvertiert werden. Ähnlich verhält es sich mit SSRF, Open Redirect oder Command Injection: Die Schwachstelle liegt selten im sichtbaren Formular, sondern in der serverseitigen Weiterverarbeitung.
- Prüfe Objektzugriffe immer mit mindestens zwei Benutzerkonten und getrennten Sessions.
- Bewerte XSS nach Kontext, nicht nach blindem Payload-Einsatz.
- Suche bei SQL Injection nach Verhaltensunterschieden, nicht nur nach Fehlermeldungen.
- Teste Uploads auf Validierung, Speicherung, Abrufbarkeit und serverseitige Verarbeitung.
- Unterscheide konsequent zwischen Authentifizierung, Autorisierung und Business-Logic-Fehlern.
Für konkrete Vertiefungen sind Xss, Sql Injection, Idor, File Upload und Ssrf typische Prüfpfade, die in Burp Suite besonders effizient analysiert werden können.
Session Management, Cookies und Token: wo Anwendungen in der Praxis wirklich brechen
Session Management ist einer der Bereiche, in denen reale Anwendungen besonders häufig inkonsistent sind. Nicht weil Session-Cookies grundsätzlich falsch implementiert werden, sondern weil Login, Logout, Passwortwechsel, Rollenwechsel, Remember-Me-Funktionen, parallele Sessions und API-Tokens oft von unterschiedlichen Komponenten verarbeitet werden. Burp Suite macht diese Brüche sichtbar, wenn Requests gezielt wiederholt und Zustände verglichen werden.
Ein sauberer Session-Test beginnt mit der Frage, welche Artefakte die Anwendung überhaupt nutzt: klassisches Session-Cookie, JWT, CSRF-Token, Refresh-Token, Device-Binding, zusätzliche Header oder versteckte Formularwerte. Danach wird geprüft, wann diese Werte erzeugt, rotiert, invalidiert und erneut akzeptiert werden. Kritisch wird es, wenn ein Logout nur das Frontend zurücksetzt, der Token aber serverseitig weiter gültig bleibt. Ebenso problematisch ist es, wenn ein Passwortwechsel bestehende Sessions nicht invalidiert oder wenn ein Rollenwechsel erst nach Neuanmeldung wirksam wird, alte Sessions aber höhere Rechte behalten.
Bei JWT-basierten Anwendungen reicht es nicht, nur den Token zu dekodieren. Entscheidend ist, ob der Server Signatur, Algorithmus, Claims, Ablaufzeit und Audience korrekt prüft. Ein lesbarer JWT ist noch kein Problem. Ein akzeptierter manipulierte Claim dagegen schon. In Burp Suite lassen sich Header und Payloads gezielt verändern, erneut signieren oder mit ungültigen Werten testen, sofern der Prüfpfad bekannt ist. Ähnlich wichtig sind CSRF-Mechanismen: Ein Token im Formular ist nur dann wirksam, wenn er an Session, Aktion oder Benutzerkontext gebunden ist und serverseitig geprüft wird.
Cookies selbst müssen ebenfalls technisch bewertet werden. Flags wie HttpOnly, Secure und SameSite sind wichtig, aber nicht ausreichend. Ein Cookie kann korrekt markiert sein und trotzdem zu breit gültig sein, etwa für eine gesamte Parent-Domain. Dann können Subdomains oder andere Anwendungen ungewollt Einfluss nehmen. Ebenso kritisch sind Session-Cookies, die nach Privilegienwechsel nicht erneuert werden. Das öffnet die Tür für Session-Fixation oder inkonsistente Rechtezustände.
Praktisch bedeutet das: Login mit Benutzer A, Requests mitschneiden, Session exportieren, Logout testen, denselben Request erneut senden, Passwort ändern, erneut testen, dann mit Benutzer B vergleichen. Erst diese Sequenz zeigt, ob die Anwendung Zustände wirklich serverseitig kontrolliert oder nur clientseitig suggeriert. Für diese Prüfungen sind Session Management, Cookies, Jwt Testing und Csrf die naheliegenden Vertiefungen.
POST /api/account/change-password HTTP/1.1
Host: app.example.test
Cookie: session=abc123
Content-Type: application/json
{"oldPassword":"OldPass!23","newPassword":"NewPass!23"}
HTTP/1.1 200 OK
{"status":"changed"}
Der eigentliche Test beginnt erst nach dieser Response: Bleibt session=abc123 gültig? Werden parallele Sessions invalidiert? Funktioniert ein zuvor abgefangener API-Request weiterhin? Genau an diesen Stellen entstehen belastbare Findings statt bloßer Vermutungen.
Intruder gezielt einsetzen: Enumeration, Parameterlogik und kontrollierte Angriffsflächen
Intruder wird häufig entweder überschätzt oder falsch eingesetzt. Das Werkzeug ist nicht dafür da, wahllos große Wortlisten gegen beliebige Endpunkte zu feuern. In einem professionellen Web Pentest dient Intruder vor allem dazu, Hypothesen systematisch zu validieren: Parametergrenzen, Benutzer-Enumeration, numerische Objektbereiche, versteckte Statuswerte, Token-Formate, Dateinamenmuster oder Login-Verhalten unter kontrollierten Bedingungen. Ohne klare Fragestellung produziert Intruder nur Last und unübersichtliche Ergebnisse.
Die Wahl des Attack-Typs ist dabei entscheidend. Sniper eignet sich für isolierte Einzelparameter. Battering Ram ist sinnvoll, wenn derselbe Payload an mehreren Positionen identisch eingesetzt werden soll. Pitchfork ist nützlich für gekoppelte Wertepaare, etwa Benutzername und zugehörige ID. Cluster Bomb ist mächtig, aber schnell unpraktisch, wenn die Kombinatorik explodiert. In realen Tests ist weniger oft mehr: kleine, gezielte Payload-Sets mit klaren Vergleichskriterien liefern bessere Resultate als riesige Listen ohne Kontext.
Wichtig ist außerdem die Auswertung. Nicht jeder Treffer zeigt sich über Statuscode 200. Häufig sind Content-Length, Redirect-Ziel, Antwortzeit, Header-Unterschiede oder einzelne JSON-Felder die relevanten Marker. Bei Login-Enumeration kann eine Anwendung für existierende Benutzer eine andere Fehlermeldung, einen anderen Redirect oder eine andere Antwortzeit liefern. Bei Objekt-IDs kann ein gültiger Datensatz dieselbe Statusklasse zurückgeben, aber andere Feldstrukturen enthalten. Wer nur auf offensichtliche Fehlercodes schaut, übersieht die eigentlichen Signale.
Intruder sollte immer in den Kontext der Anwendung eingebettet werden. Rate Limits, Account Lockouts, Captchas, Anti-Automation-Mechanismen und Monitoring müssen berücksichtigt werden. Gerade bei Authentifizierungsendpunkten ist Zurückhaltung Pflicht. Ein sauberer Test arbeitet mit kleinen Stichproben, dokumentierten Grenzen und klarer Freigabe. Für die operative Vertiefung sind Intruder, Intruder Attack Types, Intruder Payloads und Login Testing die passenden Anlaufstellen.
Ein realistischer Anwendungsfall ist die Prüfung auf Benutzer-Enumeration bei Passwort-Reset-Funktionen. Statt tausende Adressen zu testen, reicht oft eine kleine Menge kontrollierter Werte: existierender Benutzer, nicht existierender Benutzer, gesperrter Benutzer, Benutzer mit Sonderzeichen. Danach werden Response-Länge, Textbausteine, Timing und Folgeaktionen verglichen. So entsteht ein präzises Bild, ohne unnötig laut zu werden.
Scanner, Decoder, Comparer und Extensions: Hilfswerkzeuge richtig einordnen
Automatisierte Funktionen in Burp Suite sind wertvoll, aber nur dann, wenn ihre Grenzen verstanden werden. Der Scanner kann Hinweise auf bekannte Muster liefern, passive Auffälligkeiten sammeln und bei aktiven Prüfungen bestimmte Klassen von Schwachstellen effizient antesten. Er ersetzt jedoch keine manuelle Analyse von Autorisierung, Geschäftslogik oder komplexen Zustandsübergängen. Ein Scanner erkennt selten, dass Benutzer A die Rechnung von Benutzer B lesen kann, wenn beide Requests formal gültig aussehen. Genau deshalb muss die manuelle Arbeit immer den Kern bilden.
Passives Scannen ist besonders nützlich, um Header-Probleme, Informationslecks, unsichere Cookies, reflektierte Eingaben oder offensichtliche Konfigurationsfehler früh zu erkennen. Aktives Scannen sollte dagegen nur auf klar freigegebene Bereiche und mit kontrollierter Konfiguration angesetzt werden. Sonst entstehen unnötige Seiteneffekte, Datenänderungen oder Lastspitzen. Wer Scanner-Ergebnisse ungeprüft übernimmt, riskiert False Positives und verpasst gleichzeitig die wirklich kritischen Logikfehler.
Decoder und Comparer wirken unscheinbar, sind aber in der Praxis extrem hilfreich. Decoder beschleunigt die Analyse von Base64, URL-Encoding, JWT-Bestandteilen, Hex-Daten oder mehrfach kodierten Parametern. Comparer ist ideal, um zwei Responses oder Requests systematisch gegenüberzustellen. Gerade bei Session-Tests, Rollenvergleichen und Autorisierungsprüfungen spart das viel Zeit, weil kleine Unterschiede sofort sichtbar werden. Statt Responses visuell zu überfliegen, werden Abweichungen strukturiert herausgearbeitet.
Extensions erweitern Burp Suite sinnvoll, wenn ein konkreter Bedarf besteht. Gute Erweiterungen helfen bei JWT-Analyse, Autorisierungstests, GraphQL, JSON-Manipulation, Header-Checks oder speziellen Encodings. Schlechte oder unnötige Extensions machen das Setup instabil, verlangsamen Burp oder erzeugen zusätzliche Fehlerquellen. Deshalb sollte jede Erweiterung denselben Maßstab erfüllen wie ein Testwerkzeug im Pentest: klarer Nutzen, nachvollziehbare Funktion, kontrollierter Einsatz.
- Scanner für Hinweise und bekannte Muster nutzen, nicht als Ersatz für manuelle Analyse.
- Comparer bei Rollen- und Session-Vergleichen einsetzen, um kleine Response-Unterschiede sichtbar zu machen.
- Decoder verwenden, sobald Parameter kodiert, verschachtelt oder mehrstufig transformiert sind.
- Extensions nur installieren, wenn sie einen konkreten Prüfpfad beschleunigen oder verbessern.
Für diese Werkzeuggruppe sind Scanner, Scanner Passiv, Scanner Aktiv, Decoder, Comparer und Extensions die passenden Vertiefungen.
API Testing, moderne Frontends und versteckte Angriffsflächen hinter dem Browser
Ein großer Teil moderner Web Pentests ist faktisch API Testing. Das sichtbare Frontend ist oft nur eine Oberfläche für REST-, GraphQL- oder JSON-basierte Endpunkte. Wer nur Formulare und Seitenklicks betrachtet, testet an der eigentlichen Anwendung vorbei. Burp Suite ist hier besonders stark, weil Requests aus dem Browserfluss extrahiert, verändert und unabhängig vom Frontend erneut abgesendet werden können. Genau dadurch werden serverseitige Annahmen sichtbar, die im UI verborgen bleiben.
Typische API-Schwächen zeigen sich in Objektzugriffen, fehlender Feldvalidierung, zu großzügigen Methoden, Massenzuweisung, unzureichender Filterung und inkonsistenten Rollenprüfungen. Ein Frontend blendet vielleicht das Feld isInternal aus, der Server akzeptiert es aber trotzdem. Ein Endpunkt erlaubt vielleicht nur GET im UI, verarbeitet aber auch PATCH oder DELETE. Oder ein Suchendpunkt liefert intern mehr Felder zurück, als das Frontend anzeigt. Solche Fälle werden nur sichtbar, wenn Requests direkt analysiert und variiert werden.
Besonders wichtig ist die Prüfung von Sequenzen. Eine einzelne API-Antwort kann unkritisch wirken, während die Kombination mehrerer Endpunkte einen Missbrauch ermöglicht. Beispiel: Ein Benutzer darf seine Profildaten lesen, ein anderer Endpunkt erlaubt das Aktualisieren beliebiger Felder, und ein dritter Endpunkt zeigt Rolleninformationen an. Erst die Kombination offenbart, ob eine Privilegieneskalation möglich ist. Genau deshalb sollte API Testing nie nur endpointweise, sondern immer auch workflowbasiert erfolgen.
Bei Single-Page-Apps kommen zusätzliche Herausforderungen hinzu: Token-Rotation im Hintergrund, asynchrone Requests, CORS-Konfiguration, Preflight-Verhalten und clientseitige Zustandsverwaltung. Viele Fehler entstehen hier nicht durch klassische Schwachstellen, sondern durch inkonsistente Trennung zwischen Frontend-Logik und Server-Validierung. Burp Suite hilft, diese Trennung offenzulegen, indem Requests außerhalb des JavaScript-Kontexts wiederholt werden. Wenn ein Request im Repeater funktioniert, obwohl das Frontend ihn nie senden würde, ist das oft der Beginn eines relevanten Findings.
Für diesen Bereich sind API Testing, Authentication Bypass, Oauth Testing und Anwendungsfaelle besonders praxisnah. Gerade bei APIs zeigt sich schnell, ob ein Test nur Oberfläche betrachtet oder die eigentliche Angriffsfläche verstanden hat.
PATCH /api/users/55 HTTP/1.1
Host: api.example.test
Authorization: Bearer eyJ...
Content-Type: application/json
{
"displayName":"test",
"role":"manager",
"isInternal":true
}
Die Kernfrage lautet hier nicht, ob der Request syntaktisch akzeptiert wird, sondern welche Felder serverseitig tatsächlich beschreibbar sind, welche davon persistieren und ob dieselbe Änderung auch gegen fremde Benutzerobjekte funktioniert.
Typische Fehler im Testprozess und wie saubere Workflows belastbare Ergebnisse liefern
Die meisten schlechten Web Pentests scheitern nicht an fehlenden Tools, sondern an unsauberen Workflows. Ein häufiger Fehler ist das Springen zwischen Funktionen, ohne Hypothesen sauber abzuschließen. Ein anderer ist das Vermischen von Sessions, Rollen und Browserzuständen. Ebenso problematisch ist das unstrukturierte Sammeln von Requests ohne spätere Verifikation. Das Ergebnis sind Screenshots ohne Beweiskraft, Findings ohne Reproduzierbarkeit und Zeitverlust bei der Nacharbeit.
Ein sauberer Workflow trennt Discovery, manuelle Analyse, gezielte Manipulation, Verifikation und Dokumentation. Zuerst wird die Anwendung kartiert: Hosts, Endpunkte, Rollen, kritische Funktionen. Danach werden Kernflüsse manuell verstanden: Registrierung, Login, Passwort-Reset, Profiländerung, Objektzugriffe, Admin-Funktionen, Uploads, API-Aufrufe. Erst dann folgen gezielte Tests mit Repeater, Intruder oder Scanner. Jeder potenzielle Fund wird anschließend mit minimalem, reproduzierbarem Request bestätigt. Diese Reihenfolge reduziert False Positives drastisch.
Auch die Trennung von Rollen ist essenziell. Für Autorisierungstests sollten mindestens zwei Benutzerkonten mit klar unterschiedlichem Berechtigungsniveau vorhanden sein. Requests werden dann paarweise verglichen: gleicher Endpunkt, gleiche Parameterstruktur, unterschiedliche Session. So lässt sich sauber erkennen, ob ein 403 korrekt erzwungen wird oder ob nur das Frontend Funktionen versteckt. Comparer und Repeater sind hier deutlich wertvoller als hektisches Klicken im Browser.
Ein weiterer häufiger Fehler ist das Ignorieren von Seiteneffekten. Aktive Tests gegen produktionsnahe Systeme können Daten verändern, Mails auslösen, Konten sperren oder Workflows anstoßen. Deshalb müssen Testdaten, Triggerpunkte und Rücksetzmechanismen bekannt sein. Gerade bei Passwort-Reset, Zahlungsfunktionen, Ticket-Systemen oder Integrationen mit Drittsystemen ist Vorsicht Pflicht. Rechtliche und organisatorische Grenzen sind kein Nebenthema, sondern Teil des professionellen Workflows. Dazu gehören Legal und Ethisches Hacking.
Wenn Burp selbst instabil wirkt, Requests hängen bleiben oder Scans unzuverlässig laufen, liegt die Ursache oft in Projektgröße, History-Menge, Extensions oder lokalen Ressourcen. Dann helfen Debugging, Performance und ein klarer Workflow, statt wahllos Einstellungen zu ändern. Saubere Workflows sind kein Formalismus, sondern die Voraussetzung dafür, dass technische Beobachtungen in belastbare Sicherheitsbefunde überführt werden.
Weiter Vertiefungen und Link-Sammlungen
Passende Vertiefungen, Vergleiche und angrenzende Hydra-Themen:
Passender Lernpfad:
Passende Erweiterungen:
Passende Lernbundels:
Passende Zertifikate: