Omisión del mecanismo de coincidencia de URL de Blackbox para un redireccionamiento abierto

0

Actualmente estoy probando una aplicación web, que parece tener una vulnerabilidad de redireccionamiento abierta, ya que reciben un parámetro redirect_url a través de GET. La aplicación redirige al usuario a esta URL más adelante. Sin embargo, hacen algunas URL fijas que aceptan y responden con 400 para cualquier otra URL.

La URL que la aplicación espera es similar a la siguiente: https://subdomain.example.com/foo/bar .

He intentado restringir exactamente qué coinciden. Todos los intentos siguientes fallaron, ya que la URL no fue aceptada.

  • esquema: http://subdomain.example.com/foo/bar
  • Subdominio: https://foobar.example.com/foo/bar
  • dominio: https://subdomain.test.com/foo/bar
  • Directorio 1: https://subdomain.example.com/bar/bar
  • Directorio 2: https://subdomain.example.com/foo/foo

Además, he intentado engañar a la aplicación con un nombre de usuario en el URI: https://[email protected]/foo/bar

En general, esto parece estar muy bien implementado.

P: Mi pregunta es, si hay otros enfoques para omitir el mecanismo de coincidencia de URL, no lo he pensado.

EDIT:

Con las sugerencias de @ Trickycm, he probado los siguientes enfoques:

  • Recorrido del directorio: https://subdomain.example.com/foo/bar/../../../../test
  • Recorrido del directorio: https://subdomain.example.com/../../../../test/foo/bar
  • Varias codificaciones (por ejemplo, URL), esquema de modificación, subdominio, dominio, directorios con cada
  • Relleno de bytes nulos
  • Inyecciones de SQL
  • URL de longitud extrema
  • Varios URL de conjuntos de caracteres (por ejemplo, chino, ruso, indio)
  • Varias combinaciones de lo anterior

Ninguno de los cuales tuvo éxito, esto parece implementarse de una manera muy segura.

    
pregunta SaAtomic 14.09.2017 - 11:06
fuente

1 respuesta

1

Intentaría lo siguiente:

  1. recorrido de directorio ../../foo/bar
  2. diferentes codificaciones, url, etc.
  3. relleno con bytes nulos y caracteres adicionales
  4. fuzzing general, incluida la longitud extrema, conjuntos de caracteres múltiples y codificaciones, fuzzing sql (en caso de que esté extrayendo los redirs válidos de un db)
respondido por el Trickycm 14.09.2017 - 11:30
fuente

Lea otras preguntas en las etiquetas