Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Pero cómo piensas hacer una importación si no puedes conectar a la BD?
Responder Con Cita
  #2  
Antiguo 27-07-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Yo te recomendaría que hicieran un "Brute Force". Igual, las contraseñas de Firebird no son más largas que 8 caracteres. Puedes empezar utilizando unos 4 y de ahí seguir. Seguro no tardarás mucho en encontrar la contraseña.

Saludos,
Chris.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 27-07-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Esto te puede ayudar con el sistema "Brute Force"
Código Delphi [-]
type
   TCaracteresValidos = array of char;

var
   parar : boolean;

procedure TFMMain.ButtonBuscarClick(Sender: TObject);
var
   i1, i2, i3, i4, i5, i6, i7, i8: Integer;
   IncrementarSiguiete: Boolean;
   MyCaracteresValidos: TCaracteresValidos;
begin
   MyCaracteresValidos := TCaracteresValidos.Create('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
     'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E',
     'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
   Parar := False;
   i1 := 0;
   i2 := 0;
   i3 := 0;
   i4 := 0;
   i5 := 0;
   i6 := 0;
   i7 := 0;
   i8 := 0;
   while ((EClave.Text <> 'ZZZZZZZZ') and (not Parar)) do
   begin
      EClave.Text := MyCaracteresValidos[i1] + MyCaracteresValidos[i2] + MyCaracteresValidos[i3] + MyCaracteresValidos[i4] +
        MyCaracteresValidos[i5] + MyCaracteresValidos[i6] + MyCaracteresValidos[i7] + MyCaracteresValidos[i8];
      Application.ProcessMessages;

      // Probar conexion con la clave
      // Depende de tus componentes:
      Database.NombreDeUsuario := 'SYSDBA';
      Database.Password := EClave.Text;
      Database.Connect;
      if (Database.Connected) then
      begin
         Parar := True;
         ShowMessage('La clave es: '+ EClave.Text);
      end;

      // Buscar siguiente Clave
      if (i8 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
      begin
         i8 := 0;
         if (i7 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
         begin
            i7 := 0;
            if (i6 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
            begin
               i6 := 0;
               if (i5 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
               begin
                  i5 := 0;
                  if (i4 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
                  begin
                     i4 := 0;
                     if (i3 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
                     begin
                        i3 := 0;
                        if (i2 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
                           i2 := 0
                        else
                           inc(i2);
                     end
                     else
                        inc(i3);
                  end
                  else
                     inc(i4);
               end
               else
                  inc(i5);
            end
            else
               inc(i6);
         end
         else
            inc(i7);
      end
      else
         inc(i8);
   end;
end;

procedure TFMMain.ButtonPararClick(Sender: TObject);
begin
   Parar := True;
end;

Ten en cuenta que en los caracteres válidos no he puesto signos (+-_/, etc)
De todos modos esto puede ser algo laaaaargo....

Última edición por duilioisola fecha: 27-07-2011 a las 17:22:12.
Responder Con Cita
  #4  
Antiguo 27-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Pero cómo piensas hacer una importación si no puedes conectar a la BD?
Lo que si puede hacer mi cliente es una exportación a excel desde su programa de un listado y ese listado importarlo yo al mío pero es algo engorroso.

Chris, duilioisola, gracias por vuestros comentarios. Lo hablaré con el cliente y ya veré qué hago.

Gracias a todos.
Responder Con Cita
  #5  
Antiguo 27-07-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Yo haría una copia del programa y BD, lo probaba en otro ordenador instalando un nuevo firebird.
Buscaría en el ejecutable que tienen, con un editor hexadecimal, las cadenas 'sysdba' y 'masterkey' para ver qué clave usan.
Si las encuentras entonces no hay problema, te conectas con ellas.
Es lo de siempre, prueba y error, y perder tanto tiempo como sea necesario/pruedente/aconsejable, sin pasarse. Ya que si se pierde mucho tiempo entonces es mejor hacer esa importación/exportación y no complicarse la vida.
Responder Con Cita
  #6  
Antiguo 27-07-2011
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 22
rretamar Va camino a la famarretamar Va camino a la fama
Otra posibilidad (si la clave se envía desencriptada) es usar un "sniffer" de paquetes TCP/IP para capturar el nombre de usuario y la clave que se envían a través de la red.

Aquí hay un analizador de paquetes para Linux y Windows: http://www.wireshark.org
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #7  
Antiguo 27-07-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Cita:
Empezado por rretamar Ver Mensaje
Otra posibilidad (si la clave se envía desencriptada) es usar un "sniffer" de paquetes TCP/IP para capturar el nombre de usuario y la clave que se envían a través de la red.
Sería lo mejor. Pero Firebird envía la contraseña con encriptación, encriptación básica, pero la encripta.

Lo más práctico es lo que comenta Casimiro. Aunque puede llevar un buen tiempo hacerlo y no es seguro que la encuentres. Si tienes suerte, el programador que escribió el otro programa seguro escribió algo así:
Código Delphi [-]
fb_usuario = 'SYSDBA';
fb_contrasena = 'masterkey';
En el caso que no corras con suerte, el código debió ser escrito así:
Código Delphi [-]
fb_usuario = 'SYSDBA';
fb_contrasena = #125#156#142#169#210...;

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #8  
Antiguo 27-07-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
¿y si borras el archivo "security.fdb"?
__________________

Responder Con Cita
  #9  
Antiguo 28-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por ContraVeneno Ver Mensaje
¿y si borras el archivo "security.fdb"?
No sé, ¿qué pasa si borro el archivo security.fdb?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como averiguar el charset que tiene definida una Base de Datos Firebird apicito Firebird e Interbase 8 15-07-2010 14:01:26
BBDD Firebird Abierta madmai Conexión con bases de datos 9 22-03-2009 06:51:08
Consulta a tabla de bbdd Firebird externa Gonbamon Firebird e Interbase 4 05-07-2008 05:32:26
BBDD Firebird y IIS Dongato3310 Internet 2 20-08-2007 08:13:15
Procedimieto para averiguar el valor de un generador en firebird Mauro® Conexión con bases de datos 4 15-12-2006 01:09:05


La franja horaria es GMT +2. Ahora son las 02:00:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi