Methodik für Web-Schwachstellen

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Bei jedem Web-Pentest gibt es mehrere verborgene und offensichtliche Stellen, die verwundbar sein könnten. Dieser Beitrag dient als Checkliste, um sicherzustellen, dass Sie an allen möglichen Stellen nach Schwachstellen gesucht haben.

Proxies

Tip

Heutzutage verwenden Web-Anwendungen meist eine Art Vermittler/Proxy; diese können (ab)genutzt werden, um Schwachstellen auszunutzen. Diese Schwachstellen setzen einen verwundbaren Proxy voraus, benötigen aber in der Regel auch eine zusätzliche Schwachstelle im Backend.

Benutzereingaben

Tip

Die meisten Web-Anwendungen werden Benutzern erlauben, Daten einzugeben, die später verarbeitet werden.
Abhängig von der Struktur der erwarteten Daten können einige Schwachstellen zutreffen oder nicht.

Reflected Values

Wenn die eingegebenen Daten in irgendeiner Weise in der Antwort reflektiert werden können, könnte die Seite für mehrere Probleme anfällig sein.

Einige der erwähnten Schwachstellen erfordern spezielle Bedingungen, andere benötigen nur, dass der Inhalt reflektiert wird. Sie finden einige interessante Polygloths zum schnellen Testen der Schwachstellen in:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Search functionalities

Wenn die Funktionalität dazu verwendet werden kann, im Backend nach bestimmten Daten zu suchen, können Sie sie möglicherweise (ab)nutzen, um beliebige Daten zu durchsuchen.

Forms, WebSockets and PostMsgs

Wenn ein WebSocket eine Nachricht sendet oder ein Formular Nutzern erlaubt, Aktionen auszuführen, können Schwachstellen auftreten.

Cross-site WebSocket hijacking & localhost abuse

WebSocket-Upgrades leiten Cookies automatisch weiter und blockieren ws://127.0.0.1 nicht, sodass jede Web-Origin Desktop-IPC-Endpunkte ansprechen kann, die die Origin-Validierung umgehen. Wenn Sie einen Launcher entdecken, der über einen lokalen Agenten eine JSON-RPC-ähnliche API exponiert:

  • Beobachten Sie die gesendeten Frames, um die erforderlichen type/name/args-Tupel jeder Methode zu klonen.
  • Brute-forcen Sie den Listenport direkt aus dem Browser (Chromium verkraftet ~16k fehlgeschlagene Upgrades), bis eine Loopback-Socket-Antwort mit dem Protokoll-Banner kommt — Firefox neigt dazu, unter derselben Last schnell abzustürzen.
  • Verketteten Sie ein Paar create → privileged action: z. B. rufen Sie eine create*-Methode auf, die eine GUID zurückgibt, und rufen Sie sofort die entsprechende *Launch*-Methode mit angreiferkontrollierten Payloads auf.

Wenn Sie beliebige JVM-Flags übergeben können (z. B. AdditionalJavaArguments), erzwingen Sie einen Fehler mit -XX:MaxMetaspaceSize=<tiny> und hängen -XX:OnOutOfMemoryError="<cmd>" an, um OS-Kommandos auszuführen, ohne die Anwendungslogik zu berühren. Siehe WebSocket attacks für eine Schritt-für-Schritt-Anleitung.

HTTP Headers

Je nach den vom Webserver gelieferten HTTP-Headern können einige Schwachstellen vorhanden sein.

Bypasses

Es gibt mehrere spezifische Funktionalitäten, bei denen Workarounds nützlich sein können, um Schutzmechanismen zu umgehen

Structured objects / Specific functionalities

Einige Funktionalitäten erfordern, dass die Daten in einem sehr spezifischen Format strukturiert sind (z. B. ein sprachserialisiertes Objekt oder XML). Daher ist es einfacher zu erkennen, ob die Anwendung anfällig sein könnte, da sie genau diese Art von Daten verarbeiten muss.
Einige spezifische Funktionalitäten können auch dann verwundbar sein, wenn ein bestimmtes Eingabeformat verwendet wird (z. B. Email Header Injections).

Files

Funktionalitäten, die das Hochladen von Dateien erlauben, können für mehrere Probleme anfällig sein.
Funktionalitäten, die Dateien generieren, die Benutzereingaben enthalten, können unerwarteten Code ausführen.
Benutzer, die von Nutzern hochgeladene oder automatisch generierte Dateien öffnen, die Benutzereingaben enthalten, können kompromittiert werden.

External Identity Management

Other Helpful Vulnerabilities

Diese Schwachstellen können helfen, andere Schwachstellen auszunutzen.

Web Servers & Middleware

Fehlkonfigurationen im Edge-Stack schalten oft wirkungsvollere Fehler in der Anwendungsschicht frei.

Application Frameworks & Stacks

Framework-spezifische Primitive offenbaren häufig Gadgets, gefährliche Voreinstellungen oder vom Framework bereitgestellte Endpunkte.

CMS, SaaS & Managed Platforms

Produkte mit großer Angriffsfläche enthalten oft bekannte Exploits, schwache Plugins oder privilegierte Admin-Endpunkte.

APIs, Buckets & Integrations

Serverseitige Helfer und Drittanbieter-Integrationen können Schwächen in der Dateiverarbeitung oder auf der Storage-Ebene offenlegen.

Supply Chain & Identifier Abuse

Angriffe, die Build-Pipelines oder vorhersagbare Identifikatoren anvisieren, können der erste Einstieg sein, bevor traditionelle Bugs ausgenutzt werden.

Web3, Extensions & Tooling

Moderne Anwendungen reichen in Browser, Wallets und Automatisierungspipelines hinein — berücksichtigen Sie diese Vektoren.

References

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks