¿Hay algún beneficio de seguridad al eliminar solo las etiquetas 'script' que contienen código?

0

En la red corporativa de un cliente, algo está eliminando todos los elementos <script> que contienen código, es decir, cosas como <script type="text/javascript">do_something();</script> simplemente se eliminarán de la respuesta del servidor antes de que llegue al navegador. SSL no ayuda (y, por supuesto, el certificado aparece roto aunque es perfectamente válido).

Por otro lado, los elementos HTML como <script src="/something.js"></script> no se eliminan y se ejecutan en el navegador.

Mi pregunta:

¿Hay algún beneficio de seguridad de tal despojo?

Ciertamente no puedo ver uno ... XSS me viene a la mente, pero si alguien va a hacer un ataque XSS, probablemente intentará la variante con src , ¿no?

Y una pregunta adicional: ¿qué software podrían estar usando? O mejor aún, ¿qué puedo usar para emular esa situación en mi Mac o PC donde ocurre el desarrollo?

    
pregunta frnhr 20.03.2015 - 18:16
fuente

1 respuesta

9

No, eliminar las etiquetas <script> es inútil porque aún podría ejecutar una carga de JavaScript como esta:

<input onmouseover=prompt(document.cookie)>

Y omitir el filtro también debería ser bastante fácil, imagina lo que sucedería si se enviara una carga útil como esta:

<scr<script>ipt> 

En cuanto al tipo de software que están usando, bueno, simplemente no hay suficiente información para determinar eso. Lo que podría hacer es solicitar el archivo robots.txt y ver lo que esto revela.

Para simular / probar esto, puedes usar el siguiente código como ejemplo:

<?php

if (isset($_GET['q']))
{
   $var = $_GET['q'];
   $var = str_replace(array("<script>", "<script src"), "", $var);

   echo $var;
} 
else 
{
   echo "GET parameter 'q' is not set!";
   die();  
}

?>

La solución a este problema es la validación de entrada y la codificación de salida. Aquí hay un recurso de OWASP que recomiendo leer: enlace

    
respondido por el Jeroen - IT Nerdbox 20.03.2015 - 19:27
fuente

Lea otras preguntas en las etiquetas