Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/11/2011, 17:49
thehack
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años
Puntos: 1
problemas con login

hola chicos hasta hace no mucho tnia una web demo el cual hacia pruebas e invitaba usuarios a que probaran mi proyecto web resulta q por estar invitando a personas que desconoscia me hackearon adivinaron o usuaron algo para poder loguearse con mi pass y usuario segun me dijo el usuario anonimo que mi web era esto y aquello y q necesitaba mas seguridad en el login

no se que tiene mi login pero aca les dejo segun el uso algo llamado robot y pudo desencriptar mi pass atravez de un ataque sql inyeccion

Código PHP:
 public  function loginUser($user$pass$remember false$redirectTo NULL){
    
        
/* ARMAR VARIABLES */
    
$username strtolower($user);    // ARMAR VARIABLES
        
$pp_password = (strlen($pass) == 32) ? $pass md5(md5($pass) . $user);
        
/* CONSULTA */
        
$query $this->db->select("u_miembros","user_id, user_password, user_activo, user_baneado","LOWER(user_name) = '{$username}'","","1");
        if(!
$query){
            
$query $this->db->select("u_miembros","user_id, user_password, user_activo, user_baneado","LOWER(user_name) = '{$username}'","","1");
        }
        
//
        
$data $this->db->fetch_assoc($query);
        
        if(empty(
$data)){
            return 
'0: El usuario no existe.';
        }
       
        
// CHECAMOS
        
if($data['user_password'] != $pp_password){
            return 
'0: Tu contraseña es incorrecta.';
        } else {
            if(
$data['user_activo'] == 1){
                
/* CARGAMOS */
                
if($this->loadUser($data['user_id'],true)) {    // CARGAR SESSION
                    //$this->update("u_miembros","","");    // LAST LOGIN
        
$sqlStm "UPDATE u_miembros SET user_lastlogin = ".time()." WHERE user_id = {$data['user_id']} LIMIT 1";            
                
$this->db->ejecutarConsulta($sqlStm);                
                
/* COOKIE */
               
               
                
                    
if($remember == true){
                      
$cookie base64_encode(serialize(array('tsUser'=>  Sha1::koxEncode($username),'tsKey'=>$pp_password,'tsRem'=>$remember)));    // CREAR COOKIE
                      
$domain '.'.getDomain();
                     
                                          
createCookie($this->cookieName$cookieTRUE"/"3600);
                                          
                                        }
                    
/* REGISTAR IP */
                    
$user_ip Security::getIP();
                    
$sqlStr "UPDATE u_miembros SET user_last_ip = '{$user_ip}' WHERE user_id = {$data['user_id']} LIMIT 1";
                    
$this->db->ejecutarConsulta($sqlStr);
/* REDERIGIR */
                    
if($redirectTo != NULL){
                         
Security::redirect($redirectTo);
                    }
                    else {
                        return 
true;
                    }
                } else {
                    return 
'0: Error inesperado...';
                }
            } else {
                return 
'0: Debes activar tu cuenta';
            }
        }
              
    }