¿Explotación de un redireccionamiento abierto en el cuerpo POST?

2

Tengo el siguiente ejemplo de solicitud POST como parte de un formulario de comentarios para un sitio web que permite proporcionar un valor arbitrario al parámetro "done_url", lo que permite un redireccionamiento abierto después de que se haya procesado el formulario de comentarios.

POST /cgi-bin/formproc2.cgi HTTP/1.1
Host: foobar.com

mail_to=support%40support.com&subject=Feedback+Form&done_url=http://phishingsite.com&feedback=I+love+your+site&Submit=Submit

Estoy familiarizado con las formas típicas de phishing realizadas para redirecciones abiertas en solicitudes GET, como este ejemplo enlace

¿Pero cómo explotaría un atacante esta redirección en el cuerpo de POST?

    
pregunta eliteparakeet 10.09.2013 - 18:16
fuente

2 respuestas

2

Por lo general, debería tener esto en un GET para que sea explotable (en el sentido de poder redirigir al usuario a una URL arbitraria después de haber visitado el enlace), sin embargo, existen algunos puntos al respecto.

  • Es posible convertir el POST en un GET y aun así procesarlo correctamente, depende de la lógica del lado del servidor.
  • Ese formulario puede tener otro problema, y es que el objetivo de main se especifica como un parámetro. Si un atacante puede modificar ese parámetro, puede usar este formulario para enviar correo no deseado a direcciones arbitrarias. Desde un punto de vista de seguridad, el parámetro mail_to debe mantenerse en el lado del servidor y no desde el cliente (si tiene que enviarse desde el cliente, debe validarse la lista blanca antes de que se envíe el correo electrónico)
respondido por el Rоry McCune 10.09.2013 - 19:05
fuente
0

Lo que se pueda hacer es irrelevante, ya que proteger tales enlaces es barato y simple .

Por favor revise esta publicación , que propone una solución general : agregue un token de seguridad o ninguno none .

    
respondido por el SteAp 10.09.2013 - 23:21
fuente

Lea otras preguntas en las etiquetas