Underc0de - La Casa de los Informáticos

[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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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:"...