Reto XSS [dificultad: el contexto]

Iniciado por Jimeno, Septiembre 15, 2014, 02:59:14 PM

Tema anterior - Siguiente tema

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

Septiembre 15, 2014, 02:59:14 PM Ultima modificación: Septiembre 18, 2014, 02:45:46 PM por Jimeno
¡Buenas a todos!
Se trata de un reto de XSS, no se filtra casi nada, la dificultad única está en el contexto.
URL: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Objetivo: ejecutar alert(0) en el servidor.
Normas: no fuzzear ni utilizar herramientas automatizadas para no consumir el ancho de banda.
Para pasar el reto deben postear un screenshot tapando el payload y enviarme un MP con su solución, OJO: debe ser explotable en las últimas versiones de Chrome, Firefox e IE en sus configuraciones por defecto.

El reto se me ocurrió durante un Bug Bounty que utilizaba un filtro parecido al que yo he implementado

PD: absolutamente todo lo que ocurre está previsto, también los posibles errores 404.

Ganadores:
Blackdrake (URI) --------> solución esperada, funcional en todos los navegadores.
Arthusu (URI) ---------> solución esperada + encoding, funcional en todos los navegadores.


Reto cerrado, solución en comentarios.



Saludos.
Contacto: @migueljimeno96 -

Interesante... Malditos filtros! xD
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Septiembre 15, 2014, 05:06:51 PM #2 Ultima modificación: Septiembre 15, 2014, 05:14:39 PM por blackdrake


Link: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Muy buen reto

Un saludo.



Septiembre 16, 2014, 08:43:57 PM #3 Ultima modificación: Septiembre 16, 2014, 08:46:09 PM por arthusu
Pentest - Hacking & Security Services

Contact me: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Septiembre 18, 2014, 02:47:48 PM #4 Ultima modificación: Septiembre 18, 2014, 02:49:27 PM por Jimeno
Doy por terminado el reto aunque no lo eliminaré por ahora.
La solución esperada era una redirección a un alert, algo básico:
Código: html5
javascript:alert(0)

El filtro eliminaba "(" y ")", por lo que la solución final era:
Código: html5
javascript:alert%280%29

ya que "(" ---> "%28" y  ")" ---> "%29"


Saludos.
Contacto: @migueljimeno96 -

Eso?? Tan sólo eso? Y uno intentando anular la redireccion, etc...

Pero; no había que salir del code del redirect? Digo; con un ');
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Septiembre 19, 2014, 02:39:06 AM #6 Ultima modificación: Septiembre 19, 2014, 02:40:57 AM por arthusu
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Eso?? Tan sólo eso? Y uno intentando anular la redireccion, etc...

Pero; no había que salir del code del redirect? Digo; con un ');
no por que el setTimeOut comienza con " entonces para cerrarlo seria en realidad ") asi pero no se puede por los parentesis, saludos :P
Pentest - Hacking & Security Services

Contact me: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Eso?? Tan sólo eso? Y uno intentando anular la redireccion, etc...

Pero; no había que salir del code del redirect? Digo; con un ');
no por que el setTimeOut comienza con " entonces para cerrarlo seria en realidad ") asi pero no se puede por los parentesis, saludos :P
Claro; obviamente encodeando esos caracteres...
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Eso?? Tan sólo eso? Y uno intentando anular la redireccion, etc...

Pero; no había que salir del code del redirect? Digo; con un ');
no por que el setTimeOut comienza con " entonces para cerrarlo seria en realidad ") asi pero no se puede por los parentesis, saludos :P
Claro; obviamente encodeando esos caracteres...
Pero encodeandolos el javascript no lo interpretaria ya que esta solamente para el son  "(" ---> "%28" y  ")" ---> "%29" %28 y %29 pero si lo pasas por la url si se interpreta
Pentest - Hacking & Security Services

Contact me: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Eso?? Tan sólo eso? Y uno intentando anular la redireccion, etc...

Pero; no había que salir del code del redirect? Digo; con un ');
no por que el setTimeOut comienza con " entonces para cerrarlo seria en realidad ") asi pero no se puede por los parentesis, saludos :P
Claro; obviamente encodeando esos caracteres...
Pero encodeandolos el javascript no lo interpretaria ya que esta solamente para el son  "(" ---> "%28" y  ")" ---> "%29" %28 y %29 pero si lo pasas por la url si se interpreta

A eso iba, igual; lei mal la respuesta de Jimeno; no vi que se referia a una redirección a un "javascript:"...
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.