
cve-2018-8108
Durante un test di sicurezza, ho scoperto casualmente questo problema BUI è un framework front-end, molte aziende utilizzano questo framework per costruire i propri front-end
Di solito il metodo per prevenire le XSS è quello di trattare l'input dell'utente secondo il principio di non fiducia, eseguire l'escaping in fase di output e passarlo alle pagine front-end per la visualizzazione Tuttavia, quando il componente select di BUI visualizza questa parte di output, decodifica l'input utente già sottoposto a escaping, consentendo al payload XSS di aggirare il meccanismo di sicurezza esistente e di continuare a essere eseguito
L'esempio nell'allegato proviene da un caso reale
Si può notare che i dati nel tag input con id "workGroupList" sono già stati sottoposti a escaping, il seguente BUI.use, quando utilizza il componente select, recupera i dati da "workGroupList" e attiva direttamente l'esecuzione del payload XSS che abbiamo inserito
Puoi provare a eseguirlo per vedere