Reto XSS [dificultad: el contexto]

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

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes 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: 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
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: 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.

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


Link: 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

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: 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

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: 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.

Septiembre 19, 2014, 02:39:06 AM #6 Ultima modificación: Septiembre 19, 2014, 02:40:57 AM por arthusu
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
Pentest - Hacking & Security Services

Contact me: 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...
Visita mi blog: 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
Pentest - Hacking & Security Services

Contact me: 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
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:"...
Visita mi blog: 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.