Es posible bypassear ésto?

Iniciado por Ethicalsk, 31 Octubre 2017, 21:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Ethicalsk

Buenas, quería saber si de alguna forma se puede concretar un XSS en éste caso... En el campo de búsqueda introduzco:

dfgsdfg" onload=alert(1);

y en el fuente sale:

Código (html) [Seleccionar]
<input id="searchInput" type="text" value="dfgsdfg&quot; onload=alert(1);" placeholder="Buscar..." maxlength="100" name="search"

como vemos convierte a html entities los " y me impide escaparme del atributo...

Ésto me parece imposible de bypassear y con el tag value no podría ejecutar script mandando javascript:alert(1)... Se les acurre alguna forma? Gracias y saludos!

Luis Leon B

Intenta pasando /" \", intenta inyectando con String.fromCharCode(),
puedes pasar esto:
"&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041"

o inyectar con hexadecimal el " (&#x27), si no funciona, creo que tiene un muy buen filtro

Ethicalsk

Hola! Lo primero que decis no sirve en éste caso, eso serviria si en el servidor usa alguna función como mysql_real_escape_string() que escape los ' u los " con /, entonces si mandas /", cuando la función quiera escapar al ", terminaría quedando asi: //", una barra es la que mandamos nosotros y la otra la que crea la funcion, y el " quedaría habilitado. Pero en éste caso que muestro, se ve que está encodeando a htmlentities las ", y ya no hay forma de hacer nada por lo menos en esa reflección... Saludos!

WHK

Hola, ese campo está escapado correctamente utilizando entidades HTML, no hay nada que hacer para poder ejecutar un XSS dentro de ese campo.

Saludos.