El ID enviado por el usuario en las URL, ¿puede abrir alguna vulnerabilidad? [cerrado]

-2

En el sitio web que estoy creando los usuarios pueden enviar enlaces a varias de sus páginas personales: cuentas de YouTube, Twitter, Facebook y mucho más. Cuando lo hace, proporciona la identificación a su cuenta. Por ejemplo, si el usuario freddiew quiere vincular su cuenta de YouTube, simplemente ingresa freddiew en el campo y aparecerá un enlace a https://www.youtube.com/user/freddiew en su página.

Lo hago de esta manera para evitar la pesca. Me pregunto si hay cosas de las que deba preocuparme que no haya pensado. Mejor prevenir que lamentar.

Para aclarar en el sitio web que estoy haciendo, un usuario puede dar su ID de Steam, por ejemplo.

  1. Él escribe su ID de Steam: louis .
  2. En su página de perfil aparecerá un enlace: http://steamcommunity.com/id/Louis .

Mi pregunta es: ¿existe una manera para que el usuario redirija a alguien agregando una cadena especial? De la misma manera, puede agregar &direction=right para agregar un parámetro, ¿existe alguna cadena que no se conozca que pueda redirigir al usuario como &redirect=true&url=myphishingsite.com ? Lo dudo, pero quiero estar seguro.

La razón por la que estoy paranoico es porque algunos de estos sitios a los que estoy vinculado son conocidos por hacer que las personas se engañen por el phishing. Quiero salvar a mis usuarios esa molestia.

Por ejemplo, Facebook no eliminó una entrada que redirigiera . Se ha arreglado ahora pero sucedió. Entonces, ¿debo regexar la entrada? Si es así, ¿qué char no debería permitir?

    
pregunta Ced 06.01.2016 - 02:54
fuente

2 respuestas

3

Su problema real, como lo entiendo, es:

  

¿Cómo puedo evitar que un usuario coloque caracteres no autorizados que podrían abrir algunos problemas de seguridad cuando muestro la URL como un enlace en el que se puede hacer clic?

Su única y confiable solución es el filtrado.

En particular, el idioma que usa para desarrollar este sitio web debería ofrecerle una función para filtrar el ID proporcionado por el usuario, de modo que sea adecuado como parámetro CGI de URL (debe filtrar al crear la URL de salida, no intente filtre el valor cuando lo almacene en la base de datos).

Por ejemplo, en PHP, esta función sería urlencode () .

    
respondido por el WhiteWinterWolf 06.01.2016 - 11:51
fuente
1

No debe preocuparse por eso, ya que no habrá una función para hacer que su usuario redirija a otro sitio dentro del sitio de SNS.

    
respondido por el Arun Anson 06.01.2016 - 09:51
fuente

Lea otras preguntas en las etiquetas