payload XSS senza usare e

0

Sto eseguendo il test su un sito che riceve input dall'utente e lo colloca tra <span> e </span> . Tuttavia, < e > dell'utente sono codificati come &lt e &gt . C'è qualche payload che potrebbe eseguire XSS nel sito che non usa < e > ?

    
posta Abiral 17.07.2016 - 05:41
fonte

1 risposta

4

Le entità di testo in HTML non possono fare nulla di interessante, e il contenuto tra tag span è interpretato come testo. Per fare qualcosa di interessante, devi iniettare una nuova entità (che è fatta usando < e > ), o avrai bisogno di inserire il tuo input in una posizione non di testo (come i parametri di un'entità o all'interno di un blocco <script> o simile). Se il tuo input non viene riflesso altrove, e < e > sono sempre codificati, non puoi sfruttare la pagina tramite XSS.

Tuttavia, potrebbero esserci modi per ingannare il server nell'inviare < non codificato e > senza che ciò significhi. Un modo che ho visto è di inviare caratteri Unicode che non sono <> ma che il server potrebbe mappare a quei caratteri ASCII prima di rifletterci nell'output. Prendi in considerazione caratteri come ˂˃ , ‹› , ≤≥ , <> , ognuno dei quali può essere mappato a <> da un server e quindi non essere codificato come &lt; &gt; . Nessuna garanzia, ma succede.

    
risposta data 17.07.2016 - 13:40
fonte

Leggi altre domande sui tag