Eludir la prohibición de envío de ejecutables a través de Facebook

El investigador de seguridad Nathan Power he descubierto un fallo en la
subida de ficheros de Facebook que podría permitir el envío de cualquier
tipo de fichero a través de los mensajes de la red social.

Facebook, a través de su servicio de mensajes entre sus usuarios,
permite el envío de archivos adjuntos. Como es lógico, en ningún
caso se permite que se intercambie un archivo ejecutable, por tanto
la plataforma realiza ciertas comprobaciones sobre el fichero enviado
para evitar que se trate de un binario.

Según ha confirmado el investigador, todas las comprobaciones sobre el
contenido del mensaje se limitan a analizar la extensión del nombre del
fichero indicado. Este dato es enviado dentro de la petición POST en
la que se manda el archivo, (concretamente en el atributo filename del
multipart/form-data). Al tratarse de una variable bajo el control del
cliente, es fácilmente modificable teniendo acceso al tráfico HTTP
justo antes de enviar con cualquier programa, o generando una petición
personalizada. Tras varios intentos, el Nathan Power finalmente
consiguió evadir el filtro de Facebook, y por tanto enviar el
ejecutable, simplemente añadiendo un espacio al final del nombre
del fichero. De este comportamiento se extraen varias conclusiones:

* El módulo, función o software encargado de tratar el nombre del
fichero, no realiza un tratamiento adecuado del nombre del fichero.
En este caso en concreto, eliminar los espacios al final del nombre
del archivo.

* Para discernir entre un archivo permitido o no, se comprueba la
extensión del archivo, y se recurre a una lista negra de extensiones
(exe, bat...), en lugar de una lista blanca.

* No se realiza comprobación alguna del tipo del contenido real del
archivo (por ejemplo los dos primeros bytes).

* Se comenten errores básicos y antiguos, que ya han solucionado desde
hace tiempo otras aplicaciones que han tenido que lidiar mucho con los
adjuntos: los clientes de correo.

Comentarios

Entradas populares de este blog

Corcho Pedagogico

Significado oculto en los nombres de los programas

El Bidet