Foros del Web » Programando para Internet » PHP »

Sitio Web Hackeado

Estas en el tema de Sitio Web Hackeado en el foro de PHP en Foros del Web. Estimados de repente en un sitio Web que hice para un cliente y lleva varios años en línea el archivo principal (index.php) fue reemplazado por ...
  #1 (permalink)  
Antiguo 30/08/2014, 08:55
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Sitio Web Hackeado

Estimados de repente en un sitio Web que hice para un cliente y lleva varios años en línea el archivo principal (index.php) fue reemplazado por una página que dice que el sitio fue Hackeado: Security not found y tiene un muñequito verde bailando...
Cuando hice el reclamo al Hosting me respondieron esto:

- Ud. puede haber desarrollado su web en lenguajes como PHP y ASP incluyendo, sin darse cuenta, scripts vulnerables.

El script más sensible suele ser el de los formularios de consulta. Un formulario vulnerable se puede utilizar, por ejemplo, para enviar SPAM en forma masiva.

Estoy bastante perdido, alguien podría orientarme? Qué medidas debería tomar en mis scripts para que esto no vuelva a suceder?

Ahora pregunto, para reemplazar el archivo index.php el Hacker no debió hacerse del usuario y contraseña FTP? No entiendo como a través de un script mio va a obtener esos datos. Bueno como verán estoy bastante perdido agradeceré cualquier orientación. Desde ya gracias.
  #2 (permalink)  
Antiguo 30/08/2014, 09:34
 
Fecha de Ingreso: julio-2014
Mensajes: 179
Antigüedad: 10 años, 4 meses
Puntos: 26
Respuesta: Sitio Web Hackeado

El tema de la seguridad web es indispensable, para evitar un nuevo ataque es necesario analizar tu código.

No es necesario tener los datos de ftp para poder modificar un index, puede ser simplemente cuestión de subir un archivo a tu página, por medio de la inyección de código puedes conseguir la cuenta de administrador, en caso de existir, bueno una infinidad de ataques que hoy en día hacen los Juackers.

Es necesario analizar el sitio web, ver si han subido un archivo por el cual estarán modificando el index o hasta una shell para ver si tienen acceso a mucha más información.

Por ejemplo, si tienes un buscador en ese sitio haz lo siguiente: "><h1>Me juackiaron!

Si el mensaje se ve más grande de lo que debe, tu script es vulnerable.

Si tienes un Upload de archivos suspéndelo y postea el código en el foro para que te ayuden a hacerlo seguro.

Lee un poco de [URL="http://php.net/manual/en/function.htmlentities.php"]htmlentities[/URL], [URL="http://php.net//manual/es/function.addslashes.php"]addslashes[/URL] estas funciones te ayudarán para limpiar los registros del usuario.

Seguro algún maestro del foro te puede ayudar un poco más, lo que sí es necesario es analizar si subieron algún archivo a tu pagina y sobre todo encontrar cada una de las vulnerabilidades de tu sitio, Saludos.
__________________
Si haces las cosas como nadie las ha hecho, cobralas bien, si las vas a hacer como todos las han hecho, cobralas bien!!
MecanizandoWeb.com
  #3 (permalink)  
Antiguo 30/08/2014, 11:27
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: Sitio Web Hackeado

Un script que permita subir archivos y que no sea seguro puede permitir subir (reemplazar) un archivo php que ya tengas en tu servidor.

El que haya estado varios años sin hackear no quiere decir que sea poco vulnerable, quizá sólo nadie lo había intentado.

Te sugiero que coloques los cógios que suelen ser vulnrables, como es principalemnet el login, el mecanismo de autentificación para secciones o páginas que uso restringido a usuarios registrados, y subida de archivos.

También podrías indicar cómo haces tus inserciones a la base de datos si es que tienes, para ver si estás permitiendo inyectar código o no.
  #4 (permalink)  
Antiguo 01/09/2014, 07:52
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: Sitio Web Hackeado

Muchísimas gracias por las respuestas. El sitio tiene un front para los usuarios y un back para las personas que lo administran. Nos han reemplazado tanto del index.php como el admin/index.php. En el front NO hay ningún upload de archivos pero sí en el back, pego el código del mismo:

Código PHP:
if($_FILES['img']['name']!=''){
        if(
is_uploaded_file($_FILES['img']['tmp_name'])){
            include (
'includes/class_redim2.php');
            
$ext explode('.',$_FILES['img']['name']);
            
$p count($ext)-1;
            
$archivo 'IMG_'.sprintf('%08d',$_POST['id']).'_'.time();
            
//------- [IMAGEN GRANDE] -------
            
$thumb = new Redim;
            
$thumb->ancho 720;
            
$thumb->archivo $_FILES['img']['tmp_name'];
            
$thumb->target '../graf/locales/';
            
$thumb->nomFinal $archivo.'_GR';
            
$img_gr $thumb->Crear();
            if(!
$img_gr){
                echo 
'(1) '.$thumb->ErrorInfo;die;
            }
            
chmod('../graf/locales/'.$img_gr,0777); 
Código del login del módulo administrativo:

Código PHP:
$SQL "SELECT id, nombre, email, usuario, niveles_id 
            FROM "
.PREF_TBL_SEGURIDAD."usuarios 
            WHERE usuario = "
.$usr." AND clave = ".$pass." AND estado = 'Y' AND niveles_id!='C';";
    
//die($SQL);
    
$rs mysql_query($SQL);
    
$f mysql_fetch_assoc($rs);
    
//Guardo el tipo de usuario
    
$_SESSION['tipo_usu']=$f['niveles_id'];
    
$num mysql_num_rows($rs);
    if(!
$f){
        
header('Location: '.$_SERVER['PHP_SELF'].'?e=1');exit();
    }
    if(
$num>1){
        
header('Location: '.$_SERVER['PHP_SELF'].'?e=2');exit();
    } 
Por último un insert a la base de datos:

Código PHP:
if(!mysql_query("INSERT INTO barrios (nombre_barrio,ciudades_id_ciudad,comentarios,activo,mostrar_en_front,orden) VALUES ('$otro_barrio','$ciudades_id_ciudad','','S','S',0)",$link))
        {            
            
$error=10;
            
$msj_error_barrio=mysql_error($link);
        } 
  #5 (permalink)  
Antiguo 01/09/2014, 23:49
 
Fecha de Ingreso: julio-2014
Mensajes: 179
Antigüedad: 10 años, 4 meses
Puntos: 26
Respuesta: Sitio Web Hackeado

Los scripts así como los muestras no veo seguridad.

Si tienes acceso a una maquina con SO Windows puedes descargar WebCruiser, este software lo que hará es escanear tu sitio y en caso de que algún script sea vulnerable te lo reportará.

Te doy una explicación de como es que llegan a efectuar un ataque, MAS O MENOS, no soy un experto en esto aun que como quisiera serlo :( ja

Un upload con una vulnerabilidad permite subir cualquier archivo, dependerá del nivel de seguridad, pero lo que tu usas para subir imágenes alguien más lo podrá usar para subir un .php

Por medio de "inyecciones" (SQLi) a tus consultas con la base de datos, es que pueden lograr extraer información que te puede dar acceso al panel de administración, incluso WebCruiser puede hacer eso por ti... Ahora imagínate que lo logra hacer webcruiser y tu área de administración se llama tusitio.com/admin

Puedes hacer una prueba, si en tu sitio tienes direcciones tipo index.php?id=4 agrégale una comilla simple al final ['] quedando así: index.php?id=4' y si la respuesta que te arroja es:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1

Por ejemplo este sitio: http://www.gepl.net/content.php?id=77 agrégale la comilla simple al final de la url y veras una vulnerabilidad en su código.

Otro tipo de vulnerabilidad es el XSS, al cual por medio de la URL o un buscador podremos inyectar código js o html, por ejemplo este sitio, al cual le reporte hace tiempo dicha vulnerabilidad:
http://iept.com.mx/es/novedad_detalle.php?id=52

Si le agregas "><h1>Soy un Juacker<noscript> la url quedaría:
http://iept.com.mx/es/novedad_detalle.php?id=52"><h1>Soy un Juacker<noscript>

taran!! vulnerabilidad expuesta.

Existen muchas formas, la verdad como te digo no soy un experto en este tema, pero como te digo escanea tu sitio con ese software y si te tira errores ve puliendo tu código, aquí en el foro hay mucha gente que puede ayudar yo incluido entre ellos!

Te reitero:
Lee un poco de htmlentities, addslashes, comillas magicas estas funciones te ayudarán para limpiar los registros del usuario.

Busca en google ¿Cómo evitar ataques XSS? ¿Como evitar SQL inyection php?

La pagina de php habla de las inyecciones:
http://php.net/manual/es/security.database.sql-injection.php

Te mando un saludo.
__________________
Si haces las cosas como nadie las ha hecho, cobralas bien, si las vas a hacer como todos las han hecho, cobralas bien!!
MecanizandoWeb.com
  #6 (permalink)  
Antiguo 02/09/2014, 09:19
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: Sitio Web Hackeado

Muchas gracias por la información, la verdad no tenía idea de esto, voy a estudiar bien el tema, si me surge alguna duda los volveré a molestar.

Muchas gracias por la ayuda!!
  #7 (permalink)  
Antiguo 02/09/2014, 11:50
 
Fecha de Ingreso: julio-2014
Mensajes: 179
Antigüedad: 10 años, 4 meses
Puntos: 26
Respuesta: Sitio Web Hackeado

No es molestia, aquí estamos para ayudar!!!

Saludos :D
__________________
Si haces las cosas como nadie las ha hecho, cobralas bien, si las vas a hacer como todos las han hecho, cobralas bien!!
MecanizandoWeb.com
  #8 (permalink)  
Antiguo 17/09/2014, 13:57
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: Sitio Web Hackeado

Usé el programa WebCruiser y me lista varias vulnerabilidades, no se muy bien como interpretar la información que me da y mucho menos se qué hacer para resolverlas. Les muestro tres ejemplos de vulnerabilidades que veo a ver si me pueden orientar un poco: (prefiero no revelar la URL real del sitio por el momento):

Ejemplo 1:
URL: http://www.xxx.com/xxx.php?key=WCRTE...=&nb=1&rubro=4
Parameter: rubro
Type: Integer
Vulnerability: URL SQL INJECTION

Ejemplo 2:
URL: http://www.xxx.com/xxx_6-p_1.html (Es una pagina php enmascarada como html)
Parameter: zona
Type: GET
Vulnerability: Cross Site Scripting (Form)

Ejemplo 3:
URL: http://www.xxx.com/xxx.php?key=WCRTESTINPUT000000&zona=&nb=1^rubro=4
Paremeter: rubro=4
Type: Integer
Vulnerability: COOKIE SQL INJECTION

Desde ya muchas gracias
  #9 (permalink)  
Antiguo 22/10/2014, 09:46
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: Sitio Web Hackeado

Estimados he avanzado con este tema.

Lo primero que hice fue colocarles un filtro a mis formularios para que no permitan subir cualquier tipo de archivo. Ahora sólo permiten .PNG, .JPG o .GIF.
Ahora mi consulta es esta: Estos formularios si bien dejaban subir cualquier tipo de archivo, mandan esos archivos a una subcarpeta x del servidor. O sea NO a la carpeta raíz. Cuando sucedió el ataque no encontré ningún archivo extraño en esa subcarpeta. Sólo encontré dos archivos extraños en la raíz: uno que se llamaba x.php (un formulario) y el index.php con el mensaje “security not found” y un muñequito que baila…
Mi consulta es ¿de qué manera pueden haber manipulado mi formulario para que suba archivos a la raíz del sitio cuando yo lo programé para subir archivos a una subcarpeta?

Les agradezco su ayuda y espero sepan entender mi preocupación!!

Etiquetas: formulario, hackeado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:30.