Acabo de saber por Weblog Tools Collection que existe una nueva familia de gusanos derivada de Santy, el gusano que apareció hace unos días y que utilizaba Google para buscar foros phpBB vulnerables y posteriormente desfigurarlos.
Mientras que Santy.A se basaba en una vulnerabilidad exclusiva de phpBB, esta nueva versión, Spyki/PhpInclude, explota errores de programación en PHP, como el uso de las funciones include
y require
de manera insegura, lo que hace que el número de webs potencialmente vulnerables pase a incluir no solo foros phpBB, sino cualquier web que utilice el lenguaje PHP.
Si sois webmasters de algún sitio web codificado con PHP, por ejemplo si utilizáis un CMS creado por vosotros mismos, es aconsejable volver a comprobar que no habéis tenido ningún fallo que pueda comprometer su seguridad, y específicamente, que no permitís que se pueda hacer un include o un requiere sobre más archivos que los que en principio queríais incluir.
En el caso de WordPress en particular, parece ser que no es vulnerable, pero en cualquier caso, dado que los intentos de ataques y la búsqueda de webs vulnerables por parte de los bots es constante, puede dispararse el consumo de ancho de banda y ralentizarse el servidor, por lo que existe un hilo en los foros de soporte con consejos e información sobre como combatir el problema que deberíais leer.
Que me lo digan a mí que tenía un foro en phpbb, y me ha fastidiado una wiki que tenía en la misma base de datos que el foro…
Por suerte no ha afectado a las BBDD y con sólo subir los archivos de la wiki de la última copia, ya se solucionó.
Ahí me has pillado! Servidor tiene un CMS propio… pero no tiene ni idea de como se puede hacer eso… 😕
¿Una pista? 😀
Mil millones de gracias! 🙂
Ya veo por donde van los tiros! 😉
Yo ya tengo subsanados esos problemas desde hace bastante tiempo.
El Dr. Zippie (no se si lo he escrito bien) me reviso el codigo y me dijo como solucionarlo.
El problema esta en si metes una variable en el include que venga desde GET o POST.
inc_lude("includes/" . $_GET["archivo"]);
Si ponemos index.php?archivo=../../../../etc/passwd va a tener todas las contraseñas del sistema!
Me parece que mi codigo esta libre, pero uno casi nunca se da cuenta de sus fallos 😛
Saludos.
y no solo podría usarse para leer archivos que sepas que existen en el servidor, si no para hacer que ejecute algún script para, por ejemplo, hacer un deface de tu web
😯
Menos mal que has puesto esos links porque con los de arriba no me enteré de nada ayer. A ver si tengo agujeros yo…
Gracias Zootropo. Estas en todo.. 🙂
ok! yo ya he corregido los mios con un Array de archivos «incluíbles»… ya no hay ni un solo archivo que se incluya sin hacer una comprobación previa… ahora a buscar más de seguridad y PHP…
Muchas gracias! 😉