explotando la vulnerabilidad de redireccionamiento abierto en java

3

¿Redireccionamiento abierto cómo explotar?

document.location.pathname y pasó a la función 'open ()' de un objeto XMLHttpRequest a través de las siguientes declaraciones:

url=document.location.pathname;
url=url.substr(0,trimPosition);
xhr.open(method.toUpperCase(),url,this.options.async,this.options.user,this.options.password); 

GET /cdsfsd/foo.js HTTP/1.1
Host: fo.exemple.com
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

¿Tal vez es una vulnerabilidad falsa?

    
pregunta doglife 20.01.2017 - 19:00
fuente

3 respuestas

1

Open Redirect ocurre cuando la aplicación toma las URL o rutas proporcionadas por el usuario como valor de parámetro y las redirige a ellas sin avisar al usuario.

Escenario:

Paso 1: la siguiente solicitud de obtención toma una URL como valor de parámetro.

GET /thengakola.asp?&returl=http://pappadam.com
Host: mangatholi.com

Paso 2: al enviar el siguiente enlace a cualquier persona, puedo engañar a un usuario que confía en que mangatholi.com aterrice en el sitio web malicioso pappadam.com

enlace

Averigüe si puede crear un escenario para redirigir a un usuario desprevenido para que llegue a otro sitio web desde el enlace. La aplicación es vulnerable a la redirección abierta entonces.

    
respondido por el hax 20.01.2017 - 19:50
fuente
1

Lo que tienes no me parece una redirección abierta.

Primero, este código está haciendo un XMLHttpRequest o lo que generalmente llamamos una solicitud ajax. XMLHttpRequest está restringido por la misma política de origen y, por lo tanto, nunca podrá pasarle un dominio malicioso porque el método simplemente se bloqueará si no es el mismo dominio.

Segundo, estás usando location.pathname . Lo que location.pathname te devuelve es una URL relativa al host actual. Esto significa que la url completa siempre será {current_host} / url en su código. Por lo tanto, nunca accederá a un host malicioso por error.

Tercero, no tienes entrada de usuario. Por lo general, la vulnerabilidad de redireccionamiento abierto se encuentra en la página de inicio de sesión, que a menudo contiene un returnUrl como parámetro en la url para redirigir al usuario a la página de la derecha una vez que ingrese. sitio. Entonces, para tener la vulnerabilidad, necesitas tener una entrada de usuario en algún lugar. ¿Dónde está tu entrada de usuario?

En conclusión, no creo que esta parte del código sea vulnerable a la redirección abierta, pero otra parte podría ser.

Nota

La fortaleza de la vulnerabilidad de redireccionamiento abierto es que utilizan su confianza en un sitio web que usted conoce bien para ganarse su confianza en su sitio web malicioso. Por ejemplo, si inicia sesión con google y luego se le redirige a malware_site.com, es más probable que confíe en malware_site.com ya que cree que está relacionado con google, incluso si no tienen ninguna relación.

    
respondido por el Gudradain 20.01.2017 - 20:36
fuente
0

esto es respuesta eructa Redireccionamiento abierto

Los datos se leen desde document.location.pathname y se pasan a la función 'open ()' de un objeto XMLHttpRequest a través de las siguientes declaraciones:

  • url = document.location.pathname;
  • url = url.substr (0, trimPosition);
    • xhr.open (method.toUpperCase (), url, this.options.async, this.options.user, this.options.password);

solicitud 1

POST /foo/ HTTP/1.1
Host: www.foo.com
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Referer: https://foo/
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
Cookie: uid=LmWCLFiCJHMRTQbdBIvHAg==; _ga=GA1.2.1981574184.1484924024; _gat_owox=1; __exponea_etc__=c2bffa03-f562-47ec-ada4-46370f18530f; __exponea_time2__=-2.8187875747680664

form_name=service-partner

solicitud 2

GET /fooo/foo.js HTTP/1.1
Host: www.foo.com
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Cookie: uid=LmWCLFiCJHMRTQbdBIvHAg==; _ga=GA1.2.1981574184.1484924024; _gat_owox=1; __exponea_etc__=c2bffa03-f562-47ec-ada4-46370f18530f; __exponea_time2__=-2.8187875747680664
    
respondido por el doglife 21.01.2017 - 13:03
fuente

Lea otras preguntas en las etiquetas