Underc0de

[In]Seguridad Informática => Wargames y retos => Mensaje iniciado por: Jimeno en Septiembre 15, 2014, 02:59:14 PM

Título: Reto XSS [dificultad: el contexto]
Publicado por: Jimeno en Septiembre 15, 2014, 02:59:14 PM
¡Buenas a todos!
Se trata de un reto de XSS, no se filtra casi nada, la dificultad única está en el contexto.
URL: http://alert0ordie.host56.com/
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.
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: fermino en Septiembre 15, 2014, 03:50:06 PM
Interesante... Malditos filtros! xD
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: blackdrake en Septiembre 15, 2014, 05:06:51 PM
(http://i.imgur.com/MPy74VF.png)

Link: http://i.imgur.com/MPy74VF.png

Muy buen reto

Un saludo.
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: arthusu en Septiembre 16, 2014, 08:43:57 PM
(http://i.imgur.com/3vpnNW9.png)
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: Jimeno en Septiembre 18, 2014, 02:47:48 PM
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) [Seleccionar]
javascript:alert(0)
El filtro eliminaba "(" y ")", por lo que la solución final era:
Código (html5) [Seleccionar]
javascript:alert%280%29
ya que "(" ---> "%28" y  ")" ---> "%29"


Saludos.
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: fermino en Septiembre 18, 2014, 10:01:46 PM
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 ');
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: arthusu en Septiembre 19, 2014, 02:39:06 AM
No tienes permitido ver enlaces. Registrate o Entra a tu 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
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: fermino en Septiembre 19, 2014, 06:47:56 AM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu 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...
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: arthusu en Septiembre 19, 2014, 03:53:01 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu 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
Título: Re:Reto XSS [dificultad: el contexto]
Publicado por: fermino en Septiembre 20, 2014, 10:55:58 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu 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:"...