2010-01-12 13 views
8

La mia comprensione degli attacchi XSS si concentrava sulle persone che inserivano input malevoli tramite moduli (attacco XSS persistente).È un attacco XSS valido

Tuttavia sto cercando di capire non persistente. E 'questo come esempio (ovviamente l'allarme potrebbe essere sostituito per qualcosa di più sinistro ...)

http://localhost/MyProject/action.do?Title=<script>alert('XSS');</script> 

risposta

9

Sì, più o meno, in considerazione se si è effettuato l'accesso, quelle script può anche accedere ai cookie e potrebbe inviarlo al ovunque.

4

E' sicuramente una vulnerabilità, se non altro, è possibile inviare il link con il codice di XSS come questo a qualcuno.

14

Un problema con quel link, però, è <tags> in genere non sono ammessi in URL senza URL li codifica prima. Quindi spedire quel link o postarlo non ti farebbe molto bene.

L'URL forma più realistica codificata sarebbe ..

http://localhost/MyProject/action.do?Title=%3Cscript%3Ealert%28%27XSS%27%29%3B%3C%2Fscript%3E%

Dopo aver cliccato su questo URL, il server di destinazione web sarebbe unescape il valore Title e se ...

<script>alert('XSS');</script> 

... è scritto così com'è senza essere sfuggito HTML alla pagina, che è assolutamente XSS.

3

non ho la reputazione di commentare la risposta di Jeff Atwood, quindi non saranno d'accordo con esso qui. Un collegamento del genere potrebbe essere spedito per posta e utilizzato per sfruttare i siti vulnerabili all'XSS riflesso. L'ho provato con Gmail e un sito su cui ho il controllo.

Forse la codifica era stato fatto nei precedenti, ma a prescindere, sono stato in grado di digitare il link, e-mail, quindi fare clic sul collegamento e hanno il compito di sfruttare. Inoltre, in ogni browser che ho provato, ero in grado di digitare direttamente il carico utile senza codifica e attivare lo script.

Quindi sì, che il codice è "valido XSS" e se il vostro sito innesca che javascript allora il vostro sito è vulnerabile ad un attacco XSS riflessa.

0

Sì questa è una vulnerabilità XSS. La stringa Tittle non viene disinfettata e visualizzata così com'è prima del rendering. XSS può essere prevenuto utilizzando un firewall di applicazioni Web come OWASP Stinger

0

Inserire un avviso è il modo più diffuso e ampiamente utilizzato di testare la vulnerabilità delle applicazioni verso Cross Site Scripting o XSS. Se tale URL di visualizzazione di un avviso, molto probabilmente lo stesso URL può -

  1. reindirizzare internamente cliente a un sito dannoso o

  2. avrebbe inviato le informazioni copiate dal cookie o la sessione a qualcuno.

e il Cliente riterrà che sia il suo sito attendibile che ha fatto ciò poiché continuerà a vedere il dominio del sito attendibile nell'URL.