Ejemplo de vulnerabilidad de la función mail() de PHP

Publicado el en la categoría Seguridad, Spam

La función mail() de php es extremadamente vulnerable, por eso se recomienda no usar dicha función.

Como ejemplo vamos a ver un formulario php que usa la función mail() y aunque es un formulario muy simple y no valida los datos que se le suministran, no es tan extraño encontrarse webs en esta situación. Veamos el ejemplo:

Supongamos que el formulario nos solicita nuestra dirección de correo, tendríamos un etiqueta input como la siguiente:

<input type=”text” name=”correo” value=”Escriba su dirección de correo” />

Al pulsar el botón de enviar la información llegaría al servidor y la funcion mail() tomaría la dirección de correo para usarla como FROM en el envío del email.
Pero, ¿que pasaría si en vez de una dirección de correo, le metieramos un script malicioso como el siguiente?

“spam@emailfalso.com%0ACc:email@victima.com”

La función mail() tomaría a spam@emailfalso.com como el parámetro FROM: (dirección del que nos envía el correo),  email@victima.com como parámetro  Cc: (Direcciones que recibirían el email). %0A es simplemente el valor hexadecimal de un salto de línea.

Así de sencillo es para un spamer utilizar la funcion mail() para enviar emails a sus victimas, por tanto, y como se ha comentado antes, es muy recomendable no utilizar esta función.

Facebooktwittergoogle_plus