Foros del Web » Programando para Internet » PHP »

Posible error en mi codigo que genero hackeo

Estas en el tema de Posible error en mi codigo que genero hackeo en el foro de PHP en Foros del Web. Me aparecio cierto archivo (x.txt) en mi servidor con el siguiente texto " hacked by Hmei7 ", quisiera que ayudaran a revisar mi codigo para ...
  #1 (permalink)  
Antiguo 26/03/2012, 19:53
 
Fecha de Ingreso: agosto-2004
Mensajes: 58
Antigüedad: 20 años, 3 meses
Puntos: 0
Posible error en mi codigo que genero hackeo

Me aparecio cierto archivo (x.txt) en mi servidor con el siguiente texto "hacked by Hmei7", quisiera que ayudaran a revisar mi codigo para saber si fue error mio en relacion al codigo php o si es error del servidor (y en ese caso hablarlo con mi proveedor).


Este es el index:
Código PHP:
<?php
error_reporting
(E_ALL);

include(
'conf.php');

if (!empty(
$_GET['id']))
    
$modulo $_GET['id'];
else
    
$modulo MODULO_DEFECTO;

if (empty(
$conf[$modulo]))
        
$modulo MODULO_DEFECTO;

if (empty(
$conf[$modulo]['layout']))
        
$conf[$modulo]['layout'] = LAYOUT_DEFECTO;
        

$path_layout LAYOUT_PATH.'/'.$conf[$modulo]['layout'];
$path_modulo MODULO_PATH.'/'.$conf[$modulo]['archivo'];

if (
file_exists($path_layout))
    include( 
$path_layout );
else
    if (
file_exists$path_modulo ))
        include( 
$path_modulo );
    else
        die(
'Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?>
Este es el config:
Código PHP:
<?php

define
('MODULO_DEFECTO''home');
define('LAYOUT_DEFECTO''layout_default.php');
define('MODULO_PATH'realpath('./modulos/'));
define('LAYOUT_PATH'realpath('./layouts/'));

$conf['home'] = array(
        
'archivo' => 'home.php',
        
'layout' => LAYOUT_DEFECTO ); 
$conf['contacto'] = array(
        
'archivo' => 'contacto.php' );
$conf['restaurantes'] = array(
        
'archivo' => 'restaurantes.php',
        
'layout' => 'layout_restaurantes.php' );
?>
Esto va en el layout (lo demas del layout es solo HTML):
Código PHP:
<?
    
if (file_exists$path_modulo )) include( $path_modulo );
    else die(
'Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?>
Y en los modulos algo como esto (HTML):
Código PHP:
<div>
            <
img src="imagenes/bienvenida.jpg" width="687" height="403" alt="" />
        </
div
Y mi formulario de contacto que tambien es php es el siguiente (lo baje de un sitio por eso tiene comentarios):
Código PHP:
<?php
if (isset($_POST['submit'])) {

    
// Checamos si el Referer viene de nuestro sitio 
    
$valid_hosts = array('www.algo.mx''algo.mx');
    
$temp_referer explode('/'$_SERVER['HTTP_REFERER']);
    if (!
in_array($temp_referer[2], $valid_hosts)) {
        exit(
'Formulario para uso exclusivo de Algo </p></fieldset></div></body></html>');
    }
    
    
    
/* Setear todas las variables */
    
foreach ($_POST as $key=>$value) {    
        
// Checamos algunas keys para prevenir spam/injections
        
if (eregi('MIME-Version:'$value) || eregi('Content-Type'$value) || eregi('boundary='$value) || eregi('<script'$value) || eregi("CC:",$value)) {
            exit(
'Error: Prohibido el SPAM </p></fieldset></div></body></html>');
        }
        
        $
$key $value;
    }
    
    
    
/* Validacion*/
    
    // Chequear campos obligatorios
    
$required_fields = array('nombre''email''comentario');
    foreach (
$required_fields as $required_field) {    
        if (!isset($
$required_field) || $$required_field == '') {    
            exit(
'Todos los campos son obligatorios </p></fieldset></div></body></html>');
        }
    }
    
    
// Validar email
    
if (!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/"$email)) {
          exit(
'El formato de e-mail ingresado no es valido </p></fieldset></div></body></html>');
    }
    
    
/* Fin Validacion */
    
    
    // Mensaje
    
$message =<<<EOD
FORMULARIO DE CONTACTO
 
Nombre: 
{$nombre}
Email: 
{$email}
Comentario: 
{$comentario}
EOD;
    
    
$to '[email protected]';
    
$subject 'Contacto Algo';
    
$headers 'From: [email protected]."\r\n";

    
mail($to,$subject,$message,$headers);

    exit(
'Enviado Correctamente </p></fieldset></div></body></html>');

} else {
    exit(
'No se puede acceder a este archivo directamente </p></fieldset></div></body></html>');
}
?>
Espero me puedan ayudar, ya que si me extraño la aparicion de ese archivo.
  #2 (permalink)  
Antiguo 26/03/2012, 21:46
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 21 años, 3 meses
Puntos: 105
Respuesta: Posible error en mi codigo que genero hackeo

Holas,

A simple vista no veo nada raro, tambien podrias asegurarte en cambiar todos tus accesos, no solo en el password sino tambien en los nombres de los usuarios, y tambien cambia los accesos a tus correos, y demas cuentas que tengas. Luego tambien podrias revisar los logs de tu servidor, el archivo me imagino que tiene una fecha de creacion o edicion, y con esa fecha podrias buscar en los logs de tu servidor.

Saludos
__________________
.: Gildus :.

Etiquetas: formulario, genero, html, posible, variables
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 20:17.