FormMail + Fallas = Spam
5 seguidores
Desde hace ya años que vengo utilizando el FormMail de Mattscripts para mis formularios on-line pero estos últimos meses el aumento de Spam me ha puesto en alerta llegando a la conclusión de que alguien está utilizando este CGI para enviar Spam desde mi dominio con los consecuentes problemas que esto puede acarrearme!
Al ir a chequear por la última versión de dicho script veo las notas acerca de su "vulnerabilidad", entonces vengo aquí y pregunto:
¿Alguna recomendación?
Yo acostumbro a manejarme con scripts en Perl, cuál es el método mas seguro que Uds. recomendarían? ¿Sigo con FormMail o hay algo MUCHO más recomendable (y sencillo, claro!)?
meddle
SIEMPRE checkea que el referer de la pagina que envia el email sea la pagina que envia el formulario desde tu dominio. Asi no hay quien pueda usar tu script desde fuera (porque el referer no sera de tu dominio)
Surt
tanto el formail en perl (el original pero ultima version) como el "traducido" a php traen ahora un control sobre eso.
Yo lo uso, la funcion se llama check_referers y permite especificar quienes seran los unicos que podran hacer uso del script controlando desde donde viene la informacion que se le ha pasado.
Alex Dukal
Gracias por la rápida respuesta.
Bueno, la versión 1.6 ya traía el control de referers pero aún así se podía hackear (los detalles están en el History de la última versión).
En la última versión por lo que estoy viendo hay muchos mas controles, veremos si sirven de algo ...
Por lo que veo el FormMail sigue siendo popular ...
meddle
¿puedes copiar esa parte del History para que veamos como se podia hackear? gracias
Alex Dukal
Copio la parte de las últimas versiones, en realidad las explicaciones están a lo largo del script y en el Read me.
Version 1.9 08/03/01 - Added in a further anti-spam check which would
take advantage of newline characters in the
subject to send invalid e-mail.
- Removed a restriction when checking e-mail
addresses for validity that required a 2 - 3
character domain extension. With the new TLD's
becoming available, it can no longer apply.
Version 1.91 04/19/02 - The same vulnerability that was patched in 1.9
with the subject field still existed in the email
and realname fields. Newline characters are no
longer allowed in any fields that are placed in
the header of the message.
- Much stronger default regular expression checking
in the @recipients array is now implemented. This
will combat the % hack and other known exploits.
- The options for sendmail were moved into the
$mailprog variable and -i was added so that single
periods on a line will not cause the end of the
message.
Version 1.92 04/21/02 - Removed cross-site scripting vulerabilities
by converting all <, >, & and " into their HTML
equivalents when displayed on a web page. These
characters are left intact in the e-mail message.
- Now removes any null bytes from form input.
- Fixed field recognition so that '0' is now a
valid input. Supposedly fixed in v1.6.
- Fixed print_blank_fields
Alex Dukal
Luego de mucho investigar les puedo recomendar abandonar el vetusto FormMail y cambiarlo por la nueva versión (NMS FormMail) de la cual se ha hecho cargo otra gente, pero basándose en el mismo cgi de Mattscripts:
http://sourceforge.net/projects/nms-cgi
helenp
Todos los scripts Mattscripts estan banneados en mi hosting,
debido a problemas de seguridad.
Ellos tienen una version cambiada de matts formail
LazyRoy
vaya, al hilo del formmail, yo tengo una pregunta que quizas para algun@ es absurda, pero ahi va, resulta que he configurado ese script de formmail para enviar todo tipo de formularios/correos desde una web el problema es que una vez que lo tengo listo para colocarlo en el servidor no se como hacer ni como subirlo, si vía FTP o si hay algun directorio especifico donde alojarlo, no sé, tengo unas dudas horribles por que se que la mayor parte de ellos se alojan en la parte de cgi-bin o algo asi y ahora si lo subo via ftp sería como un archivo mas en el servidor y no se si haría la misma función... ¿alguien me puede decir algo al respecto? ¿donde coloco el formmail.pl? arghgh... que ignorancia...
:(
Alex Dukal
Básicamente lo que tienes que hacer es subirlo vía FTP a la carpeta cgi-bin y poner los permisos del archivo como chmod 711
Es importante que la ruta:
<code>$mailprog = '/usr/sbin/sendmail -i -t';</code>
sea la correcta, sino, no funcionará.
Pero como ya mencioné antes, te aconsejo utilizar el NMS FormMail (la dirección está mas arriba) y no el FormMail de MattScripts.
Suerte!
LazyRoy
el problema es que subiendolo via FTP me encuentro que no tengo ninguna carpeta cgi-bin, no sé si es que hay que crear una simple carpeta que se llame cgi-bin o si tengo que contactar con mi proveedor de hosting para que me creen una o me digan como o donde hacerla, eso es basicamente lo que no se.
¿será asi tan sencillo?
gracias por la respuesta!
pd.
ya me cambie al otro formmail
;)
Alex Dukal
Lo común es que la carpeta cgi-bin esté en la raíz, es decir, http://www.tusitio.com/cgi-bin/
pero esto depende del tipo de sistema que utilice tu server, así que lo mejor sería preguntarles ¿Dónde está el cgi-bin?
Y si te dicen que lo crees tú, sencillamente crea ese directorio y dale los permisos correspondientes (755), luego deposita allí el FormMail.pl
Bye