Foros del Web » Programando para Internet » PHP »

¿Es vulnerable a ataques convertir strings a enlaces?

Estas en el tema de ¿Es vulnerable a ataques convertir strings a enlaces? en el foro de PHP en Foros del Web. Buenas. Estoy desarrollando un sistema de comentarios para una web. Si un usuario introduce un comentario con una URL dentro, tengo que poner esa URL ...
  #1 (permalink)  
Antiguo 12/07/2014, 09:45
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 10 meses
Puntos: 1
¿Es vulnerable a ataques convertir strings a enlaces?

Buenas. Estoy desarrollando un sistema de comentarios para una web. Si un usuario introduce un comentario con una URL dentro, tengo que poner esa URL como un link. No tengo problemas con esto, pero quiero saber si eso es vulnerable a ataques, especialmente XSS.

Las precauciones que tomo por defecto para cualquier comentario a guardar en la BD son usar las funciones php strip_tags, htmlentities y mysqli_real_escape_string.

Gracias!
  #2 (permalink)  
Antiguo 12/07/2014, 14:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Es vulnerable a ataques convertir strings a enlaces?

Pues sí, claro que una URL puede provocar problemas XSS/CSRF, así que siempre deberías sanitizar tus datos.

Jamás confíes en los datos de un usuario, grábatelo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/07/2014, 16:28
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: ¿Es vulnerable a ataques convertir strings a enlaces?

¿Y cómo lo hago? Te explico lo que hago y si puedes decirme qué modificar te lo agradecería!

Cuando un usuario hace un comentario lo guardo en la BD pasandole strip_tags, htmlentities y mysqli_real_escape_string. Luego, cuando lo tengo que mostrar, utilizo esto para generar los links:

Código PHP:
Ver original
  1. $texto_a_mostrar = preg_replace("/((http:\/\/|^https:\/\/)[^\s]+)/i", '<a target="_blank" rel="nofollow" href="$1">$0</a>', $texto_de_la_BD);

Luego, si el usuario quiere editar su comentario, lo que muestro es el comentario original guardado en la BD.

No tengo mucha idea de seguridad web y no sé de qué forma podría ser vulnerable esta forma de hacerlo.

Gracias por anticipado
  #4 (permalink)  
Antiguo 13/07/2014, 00:25
 
Fecha de Ingreso: abril-2013
Mensajes: 42
Antigüedad: 11 años
Puntos: 0
Respuesta: ¿Es vulnerable a ataques convertir strings a enlaces?

facil y sencillo para evitar que "inyecte" html al enlace usa strip_tags de php y por cualquiercosa elimina las < y > en los enlaces, creo que con eso deberia bastar, recuerda que tambien existe "html encode" que < puede equivaler a &%54; por así decirlo
  #5 (permalink)  
Antiguo 13/07/2014, 06:04
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: ¿Es vulnerable a ataques convertir strings a enlaces?

Eso ya lo hago. Uso strip_tags para filtrar las etiquetas html que pueda haber introducido el usuario antes de guardar en la BD. Para las comillas simples y dobles, mysqli_real_escape_string.

Lo que no sé es si el usuario incluye una URL maliciosa, al sacarla como enlace puede haber problemas

Etiquetas: seguridad+php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:24.