Web Vulnerabilities Methodology
In ogni Pentest Web, ci sono diversi luoghi nascosti e ovvi che potrebbero essere vulnerabili. Questo post è pensato per essere una checklist per confermare che hai cercato vulnerabilità in tutti i possibili luoghi.
Proxy
Oggi le applicazioni web di solito utilizzano qualche tipo di proxy intermedio, che possono essere (ab)usati per sfruttare vulnerabilità. Queste vulnerabilità richiedono che ci sia un proxy vulnerabile, ma di solito necessitano anche di una vulnerabilità aggiuntiva nel backend.
Input Utente
La maggior parte delle applicazioni web consentirà agli utenti di inserire alcuni dati che verranno elaborati in seguito. A seconda della struttura dei dati che il server si aspetta, alcune vulnerabilità potrebbero essere applicabili o meno.
Valori Riflessi
Se i dati introdotti possono in qualche modo essere 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 riflessi. Puoi trovare alcuni poliglotti interessanti per testare rapidamente le vulnerabilità in:
Funzionalità di Ricerca
Se la funzionalità può essere utilizzata per cercare un tipo di dati all'interno del backend, forse puoi (ab)usarla per cercare dati arbitrari.
Moduli, WebSockets e PostMsgs
Quando un websocket invia un messaggio o un modulo consente agli utenti di eseguire azioni, potrebbero sorgere vulnerabilità.
Intestazioni HTTP
A seconda delle intestazioni HTTP fornite dal server web, potrebbero essere presenti alcune vulnerabilità.
Bypass
Ci sono diverse funzionalità specifiche in cui alcuni workaround potrebbero essere utili per evitarle
Oggetti Strutturati / Funzionalità Specifiche
Alcune funzionalità richiederanno che i dati siano strutturati in un formato molto specifico (come un oggetto serializzato di un linguaggio o XML). Pertanto, è più facile identificare se l'applicazione potrebbe essere vulnerabile poiché deve elaborare quel tipo di dati. Alcune funzionalità specifiche potrebbero essere vulnerabili se viene utilizzato un formato specifico dell'input (come le Iniezioni di Intestazioni Email).
File
Le funzionalità che consentono di caricare file potrebbero essere vulnerabili a diversi problemi. Le funzionalità che generano file includendo input dell'utente potrebbero eseguire codice inaspettato. Gli utenti che aprono file caricati dagli utenti o generati automaticamente includendo input dell'utente potrebbero essere compromessi.
Gestione dell'Identità Esterna
Altre Vulnerabilità Utili
Queste vulnerabilità potrebbero aiutare a sfruttare altre vulnerabilità.
Last updated