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.

[Perl] SMF Manager 0.1

  • 3 Respuestas
  • 1808 Vistas

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

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Diciembre 07, 2012, 03:03:58 pm »
Traduccion a Perl (mega buggeada) del script que hizo Javier de PortalHacker para poder leer los mensajes privados y listar las categorias de un foro SMF.

El codigo

Código: Perl
  1. #!usr/bin/perl
  2. #SMF Manager 0.00001
  3. #Coded By Doddy H
  4.  
  5. #ppm install http://www.bribes.org/perl/ppm/HTML-Strip.ppd
  6.  
  7. use LWP::UserAgent;
  8. use HTTP::Cookies;
  9.  
  10. use HTML::Strip;
  11.  
  12. my $nave = LWP::UserAgent->new(
  13.     cookie_jar            => HTTP::Cookies->new(),
  14.     requests_redirectable => [],
  15.     timeout               => 5,
  16.     agent =>
  17. "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
  18. );
  19.  
  20. No tienes permisos para ver links. Registrate o Entra con tu cuenta No tienes permisos para ver links. Registrate o Entra con tu cuenta(
  21.   @@@   @     @  @@@@@    @     @                                  
  22.  @   @  @     @  @        @     @                                  
  23.  @      @@   @@  @        @@   @@                                  
  24.  @      @@   @@  @        @@   @@   @@@  @ @@   @@@   @@@@  @@@  @@
  25.   @@@   @ @ @ @  @@@@     @ @ @ @      @ @@  @     @ @   @ @   @ @
  26.      @  @ @ @ @  @        @ @ @ @   @@@@ @   @  @@@@ @   @ @@@@@ @
  27.      @  @  @  @  @        @  @  @  @   @ @   @ @   @ @   @ @     @
  28.  @   @  @  @  @  @        @  @  @  @   @ @   @ @   @ @   @ @   @ @
  29.   @@@   @     @  @        @     @   @@@@ @   @  @@@@  @@@@  @@@  @
  30.                                                          @        
  31.                                                      @@@@          
  32.  
  33. );
  34.  
  35. No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n\n[+] Page : ";
  36. No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $url = <stdin> );
  37.  
  38. No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Username : ";
  39. No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $usera = <stdin> );
  40.  
  41. No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Password : ";
  42. No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $passa = <stdin> );
  43.  
  44. ## Login
  45.  
  46. No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Connecting ....\n\n";
  47.  
  48. my $code = $nave->post(
  49.     $url . "/index.php?action=login2",
  50.     {
  51.         "user"         => $usera,
  52.         "passwrd"      => $passa,
  53.         "cookielength" => "9000",
  54.         "hash_passwrd" => "",
  55.         "submit"       => "submit"
  56.     }
  57. );
  58.  
  59. if ( $code->is_redirect ) {
  60.  
  61.     #print $code->header('location'),"\n";
  62. }
  63. elsif ( $code->is_success ) {
  64.     No tienes permisos para ver links. Registrate o Entra con tu cuenta $code->as_string, "\n";
  65. }
  66. else {
  67.     No tienes permisos para ver links. Registrate o Entra con tu cuenta STDERR $code->status_line, "\n";
  68. }
  69.  
  70. my $code = toma( $url . "/SSI.php?ssi_function=welcome" );
  71.  
  72. if ( $code =~ /Hola, <strong>(.*)<\/strong>/ ) {
  73.     my $name = $1;
  74.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "[+] Welcome $name\n";
  75. }
  76. else {
  77.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "[-] Error\n";
  78. }
  79.  
  80. ##
  81.  
  82. while (1) {
  83.  
  84.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Options\n\n";
  85.  
  86.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "1 - See MP\n";
  87.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "2 - Navegate\n";
  88.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "3 - Exit\n";
  89.  
  90.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Option : ";
  91.     No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $op = <stdin> );
  92.  
  93.     if ( $op eq "3" ) {
  94.         No tienes permisos para ver links. Registrate o Entra con tu cuenta(1);
  95.     }
  96.  
  97.     if ( $op eq "1" ) {
  98.  
  99.         No tienes permisos para ver links. Registrate o Entra con tu cuenta No tienes permisos para ver links. Registrate o Entra con tu cuenta(
  100.  @     @  @@@@@
  101.  @     @  @    @
  102.  @@   @@  @    @
  103.  @@   @@  @    @
  104.  @ @ @ @  @@@@@
  105.  @ @ @ @  @    
  106.  @  @  @  @    
  107.  @  @  @  @    
  108.  @     @  @    
  109.  
  110. );
  111.  
  112.         mps($url);
  113.     }
  114.  
  115.     if ( $op eq "2" ) {
  116.         No tienes permisos para ver links. Registrate o Entra con tu cuenta No tienes permisos para ver links. Registrate o Entra con tu cuenta(
  117.  @    @                                        
  118.  @@   @                                @      
  119.  @@   @                                @      
  120.  @ @  @   @@@  @   @  @@@   @@@@  @@@  @@  @@@
  121.  @ @  @      @ @   @ @   @ @   @     @ @  @   @
  122.  @  @ @   @@@@  @ @  @@@@@ @   @  @@@@ @  @@@@@
  123.  @   @@  @   @  @ @  @     @   @ @   @ @  @    
  124.  @   @@  @   @   @   @   @ @   @ @   @ @  @   @
  125.  @    @   @@@@   @    @@@   @@@@  @@@@  @  @@@
  126.                                @              
  127.                            @@@@                
  128.  
  129.  
  130. );
  131.  
  132.         my $chau2 = 0;
  133.  
  134.         while ( $chau2 eq 0 ) {
  135.  
  136.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] 1 - List Categories\n";
  137.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "[+] 2 - Exit\n";
  138.  
  139.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Option : ";
  140.             No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $op = <stdin> );
  141.  
  142.             if ( $op eq "1" ) {
  143.  
  144.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Searching ...\n\n";
  145.  
  146.                 my $code = toma($url);
  147.  
  148.                 while ( $code =~
  149. /<a class=\"subject\" href=\"(.*?)\" name=(.*?)>(.*?)<\/a>/migs
  150.                   )
  151.                 {
  152.                     No tienes permisos para ver links. Registrate o Entra con tu cuenta "[+] ID : $2 [+] Name : $3\n";
  153.                 }
  154.  
  155.             }
  156.             else {
  157.                 $chau2 = 1;
  158.             }
  159.  
  160.         }
  161.  
  162.     }
  163.  
  164. }
  165.  
  166. #gets_list_mp();
  167. #gets_msg_mp();
  168. #gets_msg_now();
  169.  
  170. sub mps {
  171.  
  172.     my $url = No tienes permisos para ver links. Registrate o Entra con tu cuenta;
  173.  
  174.     my $chau = "0";
  175.  
  176.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Searching pages ..\n";
  177.  
  178.     my @founds = gets_list_mp($url);
  179.  
  180.     my $count = No tienes permisos para ver links. Registrate o Entra con tu cuenta(@founds);
  181.  
  182.     No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Pages Found : $count\n";
  183.  
  184.     while ( $chau eq 0 ) {
  185.  
  186.         No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] 1 - Get List Messages\n";
  187.         No tienes permisos para ver links. Registrate o Entra con tu cuenta "[+] 2 - Read Message\n";
  188.         No tienes permisos para ver links. Registrate o Entra con tu cuenta "[+] 3 - Exit\n";
  189.  
  190.         No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Option : ";
  191.         No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $op = <stdin> );
  192.  
  193.         if ( $op eq "1" ) {
  194.  
  195.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Number Page : ";
  196.             No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $op = <stdin> );
  197.  
  198.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Searching ..\n";
  199.  
  200.             gets_msg_mp( $founds[ $op - 1 ] );
  201.  
  202.         }
  203.         elsif ( $op eq "2" ) {
  204.  
  205.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Number Page : ";
  206.             No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $n = <stdin> );
  207.  
  208.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] ID : ";
  209.             No tienes permisos para ver links. Registrate o Entra con tu cuenta( my $id = <stdin> );
  210.  
  211.             No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[+] Reading ...\n";
  212.  
  213.             gets_msg_now( $founds[ $n - 1 ], $id );
  214.  
  215.         }
  216.         else {
  217.             $chau = 1;
  218.         }
  219.  
  220.     }
  221. }
  222.  
  223. sub gets_msg_now {
  224.  
  225.     my $url = toma( $_[0] );
  226.  
  227.     my $id = "msg_" . $_[1];
  228.  
  229.     if ( $url =~ /<div class=\"inner\" id=\"$id\">(.*?)<\/div>/mig ) {
  230.  
  231.         my $uno = HTML::Strip->new( emit_spaces => 1 );
  232.         my $final = $uno->parse($1);
  233.         $final =~ s/^[\t\f ]+|[\t\f ]+$//mg;
  234.  
  235.         No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n[START]\n\n";
  236.         No tienes permisos para ver links. Registrate o Entra con tu cuenta $final;
  237.         No tienes permisos para ver links. Registrate o Entra con tu cuenta "\n\n[END]\n\n";
  238.  
  239.     }
  240.  
  241. }
  242.  
  243. sub gets_msg_mp {
  244.  
  245.     my $url = toma( $_[0] );
  246.  
  247.     my @ids;
  248.     my @asunto;
  249.     my @nombre;
  250.  
  251.     while ( $url =~ /<td><a href=\"#msg(.*?)\">(.*?)<\/a><\/td>/migs ) {
  252.  
  253.         #print "$1 $2\n";
  254.         No tienes permisos para ver links. Registrate o Entra con tu cuenta( @ids,    $1 );
  255.         No tienes permisos para ver links. Registrate o Entra con tu cuenta( @asunto, $2 );
  256.     }
  257.  
  258.     while ( $url =~ /Ver perfil de (.*?)">/migs ) {
  259.  
  260.         #print "$1\n\n";
  261.         No tienes permisos para ver links. Registrate o Entra con tu cuenta( @nombre, $1 );
  262.     }
  263.  
  264.     my $total = No tienes permisos para ver links. Registrate o Entra con tu cuenta(@ids) - 1;
  265.  
  266.     for my $num ( 0 .. $total ) {
  267.         No tienes permisos para ver links. Registrate o Entra con tu cuenta "[+] ID : "
  268.           . $ids[$num]
  269.           . " [+] Asunto : "
  270.           . $asunto[$num]
  271.           . " [+] De : "
  272.           . $nombre[$num] . "\n";
  273.     }
  274.  
  275. }
  276.  
  277. sub gets_list_mp {
  278.  
  279.     my $url = No tienes permisos para ver links. Registrate o Entra con tu cuenta;
  280.  
  281.     my @paginas;
  282.     my $code = toma( $url . "/index.php?action=pm" );
  283.  
  284.     No tienes permisos para ver links. Registrate o Entra con tu cuenta( @paginas, $url . "/index.php?action=pm" );
  285.  
  286.     while ( $code =~ /<a class="navPages" href="(.*?)">(.*?)<\/a>/migs ) {
  287.         No tienes permisos para ver links. Registrate o Entra con tu cuenta( @paginas, $1 );
  288.     }
  289.  
  290.     my @paginas = repes(@paginas);
  291.  
  292.     No tienes permisos para ver links. Registrate o Entra con tu cuenta @paginas;
  293.  
  294. }
  295.  
  296. sub repes {
  297.     my @limpio;
  298.     foreach $test (@_) {
  299.         No tienes permisos para ver links. Registrate o Entra con tu cuenta @limpio, $test unless $repe{$test}++;
  300.     }
  301.     No tienes permisos para ver links. Registrate o Entra con tu cuenta @limpio;
  302. }
  303.  
  304. sub toma {
  305.     No tienes permisos para ver links. Registrate o Entra con tu cuenta $nave->get( $_[0] )->content;
  306. }
  307.  
  308. sub tomar {
  309.     my ( $web, $var ) = @_;
  310.     No tienes permisos para ver links. Registrate o Entra con tu cuenta $nave->post( $web, [ %{$var} ] )->content;
  311. }
  312.  
  313. #The End ?
  314.  

AVISO : Solo esta probado en el foro PortalHacker.

Desconectado s3cur1tyr00t

  • *
  • Underc0der
  • Mensajes: 86
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Diciembre 07, 2012, 08:25:27 pm »
Para correrlo en Mac, o derivados de bsd, lo primero que hay que hacer es descargar HTML-Strip del siguiente enlace:

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
http://search.cpan.org/~kilinrax/HTML-Strip/
Luego descomprimen el archivo, se posicionan en el directorio  y ejecutan lo siguiente:

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
sudo perl Makefile.PL
sudo make
sudo make install

Seguramente en derivados de UNIX la instalacion sea igual.

Sobre el script:

1.- El código deberia revisarse.

2.- Hay funcionalidades que no caminan correctamente.
« Última modificación: Diciembre 07, 2012, 08:31:40 pm por andresg888 »

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« Respuesta #2 en: Diciembre 07, 2012, 09:24:29 pm »
Buen complemento andresgg
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #3 en: Diciembre 07, 2012, 09:40:12 pm »
solo lo hice para traducir un codigo que me gusto en portalhacker por eso le faltan todos los controles en las expresiones regulares ademas de que hay problemas con los cookies que no pude arreglar.

igual gracias por las sugerencias.

« Última modificación: Diciembre 07, 2012, 09:44:52 pm por Doddy »

 

¿Te gustó el post? COMPARTILO!



Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 3163
Último mensaje Septiembre 02, 2011, 09:43:36 pm
por blozzter
[Perl] Verificando si es root para correr un script

Iniciado por c1st

Respuestas: 1
Vistas: 1477
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
[Uniscan] Scanner de vulnerabilidades WEB hecho en Perl

Iniciado por tar3kw0rm3d

Respuestas: 0
Vistas: 1604
Último mensaje Junio 02, 2013, 08:01:28 pm
por tar3kw0rm3d
[Perl] Half Life Servers List 0.1

Iniciado por BigBear

Respuestas: 0
Vistas: 1104
Último mensaje Noviembre 12, 2012, 07:31:50 pm
por BigBear
[Perl] Iframe DDos Attack Tool

Iniciado por BigBear

Respuestas: 0
Vistas: 1274
Último mensaje Julio 03, 2011, 10:06:45 pm
por BigBear