È un tag di opzione che può avere un valore HTML interno inserito in esso XSS-able?

0

Considera il seguente codice:

<select>
    <option>ANY VALUE</option>
</select>

Gli utenti del mio sito web hanno la possibilità di aggiungere tag di opzione a un elenco in cui è possibile inserire qualsiasi valore. L'aggiunta di tag a questo elenco non è efficace poiché visualizza letteralmente la stringa quando si trova nell'elenco delle opzioni.

Nelle specifiche HTML, i contenuti consentiti di un tag di opzione sono solo dati di carattere normali.

Esiste un valore che un utente malintenzionato potrebbe inserire per lanciare un attacco XSS usando questo?

    
posta tupto 08.09.2016 - 18:53
fonte

1 risposta

4

Si

</option></select><img src=no onerror=alert(1)>

Ci sono alcuni tag in cui i tag non vengono analizzati (textarea o title potrebbero essere altri due esempi), ma un utente malintenzionato può ovviamente uscire da questi contesti.

L'iniezione avviene all'interno di un normale contesto HTML, quindi i caratteri pericolosi di codifica HTML - < e > sarebbero sufficienti, ma è buona pratica codificare ' e " - è il corretto soluzione qui.

    
risposta data 08.09.2016 - 18:56
fonte

Leggi altre domande sui tag