codice JS che dà vulnerabilità xss

0

Di seguito è riportato un pezzo di codice JS:

if(!(window.location.href.indexOf('?')> -1)){                      
  id= window.location.href.slice(window.location.href.lastIndexOf('/') + 1);    
 }
 location.hash='var/' + id;  

Quando ho testato questo codice in fortificazione, ho ottenuto un problema di vulnerabilità XSS - "Il metodo invia dati non convalidati a un browser web *".

Qualcuno potrebbe aiutare come risolvere il problema?

    
posta Nagendra 03.05.2015 - 09:22
fonte

1 risposta

2

Non c'è XSS nel codice incollato. Questo è solo l'impostazione dell'hash dell'URL

es. https://example.com/foo/1#var/1

utilizzando l'oggetto location . XSS può verificarsi solo quando qualcosa in un documento HTML viene impostato senza codifica appropriata.

Si noti che questa risposta è basata solo sul codice pubblicato, e non vengono fatte ipotesi su dove l'hash è usato più tardi. Se l'uso dell'hash genera una vulnerabilità, la vulnerabilità risiede qui piuttosto che nel codice pubblicato.

Il motivo è che l'applicazione sta elaborando l'input dell'utente come se fosse attendibile. Se il codice di cui sopra potrebbe creare un pericoloso hash, un utente malintenzionato potrebbe anche creare il pericoloso hash senza utilizzare il codice inviato esattamente nello stesso modo di un riflesso XSS funziona con attacchi. per esempio. l'utente malintenzionato invita l'utente a visitare un URL appositamente predisposto come

https://example.com/foo/1#<script>alert('xss')</script>

per attivare l'attacco. È compito del codice di elaborazione hash gestire questo, non il codice che genera l'hash.

    
risposta data 05.05.2015 - 15:12
fonte

Leggi altre domande sui tag