Metodologia per le Vulnerabilità Web

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

In ogni Web Pentest, ci sono diversi punti nascosti e ovvi che potrebbero essere vulnerabili. Questo documento è pensato come una checklist per confermare che hai cercato vulnerabilità in tutti i possibili luoghi.

Proxies

Tip

Oggigiorno le applicazioni web solitamente utilizzano qualche tipo di proxy intermediario, i quali possono essere (ab)usati per sfruttare vulnerabilità. Queste vulnerabilità richiedono la presenza di un proxy vulnerabile, ma di solito necessitano anche di qualche vulnerabilità aggiuntiva nel backend.

Input utente

Tip

La maggior parte delle applicazioni web consente agli utenti di inserire dati che saranno elaborati successivamente.
A seconda della struttura dei dati attesa dal server, alcune vulnerabilità possono applicarsi o meno.

Reflected Values

Se i dati forniti vengono in qualche modo riflessi nella risposta, la pagina potrebbe essere vulnerabile a diversi problemi.

Alcune delle vulnerabilità menzionate richiedono condizioni speciali, altre richiedono solo che il contenuto venga riflesso. Puoi trovare alcuni polygloth interessanti per testare rapidamente le vulnerabilità in:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Search functionalities

Se la funzionalità viene usata per cercare dati nel backend, potresti riuscire a (ab)usarla per cercare dati arbitrari.

Forms, WebSockets and PostMsgs

Quando un websocket invia un messaggio o un form che consente agli utenti di eseguire azioni, possono sorgere vulnerabilità.

Cross-site WebSocket hijacking & localhost abuse

WebSocket upgrades inoltrano automaticamente i cookies e non bloccano ws://127.0.0.1, quindi qualsiasi web origin può pilotare desktop IPC endpoints che aggirano la validazione dell’Origin. Quando noti un launcher che espone un’API in stile JSON-RPC tramite un agente locale:

  • Osserva i frame emessi per clonare le tuple type/name/args richieste da ogni metodo.
  • Bruteforca la porta in ascolto direttamente dal browser (Chromium gestirà ~16k upgrade falliti) finché una socket loopback non risponde con il banner del protocollo—Firefox tende a crashare rapidamente sotto lo stesso carico.
  • Incatena una create → privileged action pair: ad es., invoca un metodo create* che restituisce un GUID e chiama immediatamente il corrispondente metodo *Launch* con payload controllati dall’attaccante.

Se puoi passare flag JVM arbitrari (come AdditionalJavaArguments), forza un errore con -XX:MaxMetaspaceSize=<tiny> e allega -XX:OnOutOfMemoryError="<cmd>" per eseguire comandi OS senza toccare la logica dell’applicazione. Vedi WebSocket attacks per una guida passo-passo.

HTTP Headers

A seconda degli header HTTP inviati dal server web, potrebbero essere presenti alcune vulnerabilità.

Bypasses

Esistono diverse funzionalità specifiche per le quali alcuni workaround possono essere utili per bypassarle

Structured objects / Specific functionalities

Alcune funzionalità richiedono che i dati siano strutturati in un formato molto specifico (come un oggetto serializzato di un linguaggio o XML). Di conseguenza, è più facile identificare se l’applicazione potrebbe essere vulnerabile, poiché deve processare quel tipo di dati.
Alcune funzionalità specifiche possono essere vulnerabili anche se viene usato un formato specifico dell’input (come Email Header Injections).

Files

Le funzionalità che permettono l’upload di file potrebbero essere vulnerabili a diversi problemi.
Le funzionalità che generano file includendo input utente potrebbero eseguire codice inatteso.
Gli utenti che aprono file caricati da altri utenti o generati automaticamente contenenti input utente potrebbero essere compromessi.

External Identity Management

Other Helpful Vulnerabilities

Queste vulnerabilità possono aiutare a sfruttare altre vulnerabilità.

Web Servers & Middleware

Le misconfigurazioni nello stack di edge spesso sbloccano bug più impattanti nello strato applicativo.

Application Frameworks & Stacks

Le primitive specifiche dei framework spesso espongono gadget, impostazioni pericolose o endpoint di proprietà del framework.

CMS, SaaS & Managed Platforms

Prodotti con ampia superficie d’attacco spesso includono exploit noti, plugin deboli o endpoint amministrativi privilegiati.

APIs, Buckets & Integrations

Helper lato server e integrazioni di terze parti possono esporre debolezze nel parsing dei file o nello strato di storage.

Supply Chain & Identifier Abuse

Attacchi che prendono di mira pipeline di build o identificatori prevedibili possono diventare il punto d’appoggio iniziale prima di sfruttare bug tradizionali.

Web3, Extensions & Tooling

Le applicazioni moderne si estendono in browser, wallet e pipeline di automazione — mantieni questi vettori nel perimetro.

Riferimenti

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks