Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86395552

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

En este post vamos a estar resolviendo el laboratorio: “Reflected XSS into attribute with angle brackets HTML-encoded”.

image 93

En este caso, para resolver el reto tenemos que inyectar un payload que escape del string donde se encuentra y llame a la función alert.

Lo primero de todo es acceder al laboratorio:

image 94

Una vez accedemos, nos encontramos ante una barra de búsqueda, por lo que vamos a usarla buscando una palabra aleatoria:

image 95

Cuando hacemos la búsqueda, podemos observar como la palabra que hemos buscado, se encuentra, entre otros sitios en la siguiente parte del código fuente

image 96

Como podemos observar, es un string. Puedes pensar, ok, cierro la variable, pongo un alert y listo, una cosa así:

  • var searchTerms= ' alert('XSS') '

Pero esto no es válido, ya que JavaScript no permite espacios en una variable, por esa misma razón para que toda la cadena se tome como parte de la variable, y aun así, el alert se ejecute, se concatena usando un guion. En el siguiente enlace podéis ver una explicación más detallada.

Dicho esto, colocamos un payload como:

  • ' '-alert('XSS')-' '
image 97

Y cuando le demos a buscar:

image 98

Se habrá ejecutado el alert. En el código fuente, se verá de la siguiente forma:

image 99

Con esto, completamos el laboratorio:

image 100