Come limitare il carico utile XSS memorizzato al solo target di determinate persone?

0

Supponete di aver trovato un sito Web interessato da XSS persistente (archiviato) che volete sfruttare. Come controlli quale target può essere interessato da questa vulnerabilità? Non voglio che tutti quelli che entrano nella pagina siano interessati dal payload.

    
posta robert 06.01.2018 - 11:29
fonte

2 risposte

2

Una vulnerabilità XSS che ti consente di eseguire JS arbitrari ti consente di fare tutto ciò che puoi fare con JS. Quindi progettare il tuo carico utile è semplicemente un problema di programmazione.

Se vuoi limitare l'IP, solo controlla il IP degli utenti . Se si desidera limitare il nome utente o l'ID registrati, è sufficiente recuperarlo da qualsiasi posizione memorizzata e confrontarlo con i propri obiettivi. I nomi utente vengono solitamente visualizzati da qualche parte sulla pagina e, se non si tratta solo di recuperare una pagina in cui viene visualizzata e leggerla da lì. Soprattutto per una SPA, il nome utente è probabilmente memorizzato in una variabile JS, quindi non devi nemmeno prenderlo dal DOM.

Potrebbe richiedere qualche ricerca per trovare dove recuperare le informazioni nel caso specifico - non esiste una soluzione universale - ma dovrebbe essere possibile con un po 'di JS.

    
risposta data 06.01.2018 - 12:38
fonte
0

I don't want all who enter the page affected by my payload

Si tratta di un caso di autorizzazione. Supponiamo che la pagina in cui il parametro vulnerabile (ora sfruttato) risieda in un'area aperta al pubblico. In effetti, tutti quelli che visitano quella pagina saranno interessati dal tuo carico utile.

Se stai cercando di targetizzare utenti specifici, uno potrebbe (vedi il commento sotto) sfruttare una precedente vulnerabilità come rubare l'ID di sessione degli utenti target e autenticarlo con un già noto ID di sessione al fine di creare il tuo payload per raggiungere questo specifico utente. Ora, per fare in modo che ciò accada, è necessario presumere di aver già catturato l'ID di sessione degli utenti target e che l'ID di sessione non è ancora scaduto. (Qual'è la vulnerabilità "precedente" menzionata).

Potrebbero esserci altri modi per identificare gli utenti in cui è possibile scegliere come target, sebbene ciò dipenda strettamente dall'applicazione in cui si sta eseguendo il pentesting e da come si autentica con il server. Di nuovo, generalmente devi acquisire queste informazioni tramite un attacco in stile MitM.

TL; DR: Tutto si riduce all'app Web che stai pentesting e in che modo identifica i suoi utenti. Nel tuo caso, questo è altamente soggettivo. A meno che non sappiamo esattamente quali siano queste informazioni, questo è tutto ciò che possiamo fornire.

    
risposta data 06.01.2018 - 12:09
fonte

Leggi altre domande sui tag