16 febrero 2009

SQL Injection bug ... ¡ En ProFTPd !

Estamos acostumbrados a escuchar el termino 'SQL Injection' asociado siempre a alguna aplicación web, y lo cierto es que eso es así en el 99% de los casos, no obstante, emplear un backend SQL para autenticar usuarios es algo que se puede emplear en muchas otras aplicaciones, como por ejemplo ProFTPd.

ProFTPd, para el que no lo sepa, es un servidor FTP ampliamente difundido como re-emplazo del tradicional Wu-FTP en sistemas Unix (Yo siempre fui mas de Pure-FTP). Supuestamente es mucho mas seguro y tiene opciones interesantes para entornos con muchos usuarios, como por ejemplo, emplear un motor LDAP o SQL para validar usuarios.

Y ha sido precisamente en la parte SQL en la que se ha descubierto un interesante y digno de estudio bug, que permite saltarse el sistema de autenticación y entrar al sistema empleando usuarios validos sin conocer su login o password.

Si en vez de poner el consabido par usuario/contraseña, suministramos a ProFTPd lo siguiente:

(como login) USER %') and 1=2 union select 1,1,uid,gid,homedir,shell from users; --
(como password) 1
Nos permitirá acceder al sistema sin tener conocimiento previo de ninguna cuenta. Según se puede leer en el hilo de la publicación en BugTraq, añadiendo a la sentencia SQL clausulas del tipo LIMIT, incluso se puede ir accediendo al sistema empleando diferentes usuarios identificados por el orden en el que aparecen en la tabla SQL:

LIMIT 1,1 (el primer usuario registrado en el sistema)
LIMIT 2,1 (el segundo usuario)
LIMIT 3,1 (el tercero ...)

En definitiva, este bug ha de servir para no relajarse en el uso de motores SQL desde aplicaciones que interactuan con los usuarios, sean aplicaciones Web, o sean de cualquier tipo

4 comments :

RoMaNSoFt dijo...

¿"Supuestamente más seguro"? :) Después del wuftpd, encabeza mi lista de ftpds más inseguros.

PS: Animo con el blog, me parece muy interesante y me gusta leeros "every day", lo hacéis todos muy bien :*

-r

tayoken dijo...

¿Cómo era aquello del wuftp? ¿quote exec? (sí lo sé, es más viejo que el cagar)

lain dijo...

No se vio a SbD en el "Technet & Security" del viernes.

Salu2

Yago Jesus dijo...

@RoMaNSoFt gracias :) ya sabes que esta es tu casa.

@tayoken si, lo recuerdo perfectamente 'quote site exec', que tiempos aquellos ...

@lain podias hacernos un resumen y lo publicamos !