Posible vulnerabilidad en el siguiente código Php / JS

2

Estaba practicando en uno de los marcos de prueba de penetración de código abierto bWAPP . Me encontré con este código,

 $url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
 echo $url;

Pude encontrar una vulnerabilidad en ella. Al usar proxy, pude modificar el parámetro HOST en el cuerpo de la solicitud, pude reflejar lo mismo en mi página. Pero, cuando ingreso el código JS o el código HTML, obtengo un error BAD Request . Entonces, mi primera pregunta, ¿Es esto realmente una vulnerabilidad?

Al pasar al nivel intermedio, descubrí este fragmento de código, que se basaba en JS.

$url = "<script>document.write(document.URL)</script>";
echo $url;

Ahora, aquí no puedo encontrar ninguna vulnerabilidad con este código. Pude evitar que se muestre, al desactivar mi Javascript en mi navegador. Pero, dado que no está aceptando ningún valor del usuario y JS basado y ejecutándose en el lado del cliente, me pregunto si existe la posibilidad de XSS.

    
pregunta M.S.P 01.04.2017 - 08:06
fuente

1 respuesta

2

Ambos códigos son vulnerables, pero ninguno es explotable con la mayoría de los navegadores modernos.

En el primer ejemplo, podría explotar el eco de REQUEST_URI. La vulnerabilidad depende de que el navegador no codifique automáticamente los valores antes de enviar la solicitud (consulte XSS a través de REQUEST_URI ). Inyección de encabezado de host también puede ser posible.

En el segundo ejemplo, el código está aceptando comentarios del usuario a través de document.URL . Esto se denomina XSS basado en DOM (pero los navegadores modernos probablemente codificarán la URL, por lo que es posible que la explotación no sea posible).

    
respondido por el tim 01.04.2017 - 11:16
fuente

Lea otras preguntas en las etiquetas