Metodologie vir Web Kwesbaarhede

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

In elke Web Pentest is daar verskeie versteekte en voor die hand liggende plekke wat kwesbaar mag wees. Hierdie artikel is bedoel as ’n kontrolelys om te bevestig dat jy na kwesbaarhede in al die moontlike plekke gesoek het.

Proxies

Tip

Tans gebruik webtoepassings gewoonlik ’n soort intermediêre proxies; hierdie kan (mis)bruik word om kwesbaarhede te exploiteer. Hierdie kwesbaarhede vereis ’n kwesbare proxy op sy plek, maar benodig gewoonlik ook ’n addisionele kwesbaarheid in die backend.

Gebruikersinvoer

Tip

Die meeste webtoepassings laat gebruikers toe om data in te voer wat later verwerk sal word.
Afhangend van die struktuur van die data wat die bediener verwag, mag sekere kwesbaarhede van toepassing wees of nie.

Gereflekterde Waardes

As die ingevoerde data op een of ander wyse in die respons gereflekteer word, kan die bladsy aan verskeie probleme blootgestel wees.

Sommige van die genoemde kwesbaarhede vereis spesiale toestande, ander vereis net dat die inhoud gereflekteer word. Jy kan ’n paar interessante polygloths vind om vinnig kwesbaarhede te toets in:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Soekfunksies

As die funksionaliteit gebruik kan word om data binne die backend te soek, kan jy dit dalk (mis)bruik om arbitrêre data te soek.

Vorms, WebSockets en PostMsgs

Wanneer ’n websocket ’n boodskap posteer of ’n vorm gebruikers toelaat om aksies te verrig, kan daar kwesbaarhede ontstaan.

Cross-site WebSocket hijacking & localhost abuse

WebSocket-upgrades stuur outomaties cookies vorentoe en blokkeer nie ws://127.0.0.1 nie, dus kan elke web origin desktop IPC-endpoints aanstuur wat Origin-validasie omseil. As jy ’n launcher raaksien wat ’n JSON-RPC-agtige API deur ’n plaaslike agent blootstel:

  • Kyk na uitgeaande frames om die type/name/args-tuples te kloon wat deur elke metode vereis word.
  • Bruteforce die luisterpoort direk vanaf die blaaier (Chromium sal ~16k mislukte upgrades hanteer) totdat ’n loopback-sok antwoord met die protokol-banner — Firefox neig daartoe om vinnig onder dieselfde las te crash.
  • Ketting ’n create → privileged action paar: byvoorbeeld, roep ’n create*-metode aan wat ’n GUID teruggee en bel onmiddellik die ooreenstemmende *Launch*-metode met aanvallerbeheerde payloads.

As jy arbitrêre JVM-vlags kan deurgee (soos AdditionalJavaArguments), forceer ’n fout met -XX:MaxMetaspaceSize=<tiny> en heg -XX:OnOutOfMemoryError="<cmd>" aan om OS-opdragte uit te voer sonder om die toepassingslogika aan te raak. Sien WebSocket attacks vir ’n deurloop.

HTTP-kopstukke

Afhangend van die HTTP-kopstukke wat deur die webbediener verskaf word, mag sekere kwesbaarhede teenwoordig wees.

Omseilings

Daar is verskeie spesifieke funksionaliteite waar sekere ompadoplossings nuttig mag wees om dit te omseil

Gestruktureerde objekte / Spesifieke funksionaliteite

Sommige funksionaliteite vereis dat die data in ’n baie spesifieke formaat gestruktureer is (soos ’n taal-geserialiseerde objek of XML). Daarom is dit makliker om te identifiseer of die toepassing kwesbaar mag wees aangesien dit daardie soort data moet verwerk.
Sommige spesifieke funksionaliteite kan ook kwesbaar wees indien ’n spesifieke formaat van die inset gebruik word (soos Email Header Injections).

Lêers

Funksionaliteite wat die opgelaai van lêers toelaat, kan aan verskeie probleme blootgestel wees.
Funksionaliteite wat lêers genereer wat gebruikersinvoer insluit, kan onverwagte kode uitvoer.
Gebruikers wat lêers open wat deur gebruikers opgelaai is of outomaties gegenereer is en gebruikersinvoer insluit, kan gekompromitteer word.

Eksterne Identiteitsbestuur

Ander Nuttige Kwesbaarhede

Hierdie kwesbaarhede kan help om ander kwesbaarhede uit te buit.

Webbedieners & Middleware

Miskonfigurasies in die edge stack ontsluit dikwels meer impakvolle foutjies in die toepassingslaag.

Toepassingsraamwerke & Stacks

Raamwerk-spesifieke primitiewe openbaar dikwels gadgets, gevaarlike verstekwaardes, of raamwerk-eienaars-eindpunte.

CMS, SaaS & Beheerde Platforme

Produkte met ’n groot oppervlak stuur dikwels bekende exploits, swak plugins, of bevoorregte admin-eindpunte uit.

APIs, Buckets & Integrasies

Server-side helpers en derdeparty-integrasies kan swakhede in lêerparsing of stoorlaag blootstel.

Supply Chain & Identifier-misbruik

Aanvalle wat geboë is op build-pipelines of voorspelbare identifiseerders kan die aanvanklike voet aan grond word voordat tradisionele foutjies uitgebuit word.

Web3, Uitbreidings & Gereedskap

Moderne toepassings brei uit na blaaiers, beursies en outomatiseringspyplyne — hou hierdie vektore in scope.

Verwysings

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks