M-A

Wordpress Grabber

M-A
May 20th, 2014
1,122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 2.64 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use threads;
  4. use threads::shared;
  5. use LWP::UserAgent;
  6. use HTTP::Request;
  7.  
  8.  
  9. my $threads = 5;
  10.  
  11. my $ua = LWP::UserAgent->new;
  12. $ua->timeout(15);
  13. $ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5');
  14.  
  15. my @ips : shared;
  16. my @linkz : shared;
  17.  
  18. system("cls");
  19. print "++++++++++++++++++++++++++++++++++++++++++++++++\n";
  20. print "+                M-A project                   +\n",
  21. print "+                                              +\n";
  22. print "+++++++++++++++++++++++++++++++++++++++++++++++\n";
  23. print "\n\n[+] Search engine: hackteach.org\n";
  24. print "\[.] Starting...\n";
  25. GetIps();
  26. print "[+] Quantity of ips: ".scalar(@ips)."\n";
  27. GetLinks();
  28. while (threads->list) {}
  29. print "[+] Links Found: ".scalar(@linkz)."\n";
  30. print "[.] Begin work...\n\n";
  31. CheckLinks();
  32. while (threads->list) {}
  33.  
  34.  
  35. sub CheckLinks {
  36.         foreach my $link( @linkz ) {
  37.                 my  $ctr = 0;
  38.                 foreach my $thr ( threads->list ) { $ctr++; }
  39.                 if ($ctr < $threads){
  40.                         threads->create( \&wordpress, $link );
  41.                 }
  42.                 else { redo; }
  43.         }
  44. }
  45.  
  46.  
  47. sub GetLinks {
  48.         foreach my $ip( @ips ) {
  49.                 my  $ctr = 0;
  50.                 foreach my $thr ( threads->list ) { $ctr++; }
  51.                 if ($ctr < $threads){
  52.                         threads->create( \&GetLinks_hackteach,$ip );
  53.                 }
  54.                 else { redo; }
  55.         }
  56. }
  57.  
  58.  
  59. sub GetIps {
  60.         open( DOM, "ips.txt" ) or die "$!\n";
  61.         while( defined( my $line_ = <DOM> ) ) {
  62.                 chomp( $line_ );
  63.                 push( @ips, $line_ );
  64.         }
  65.         close( DOM );
  66. }
  67.  
  68. sub GetLinks_hackteach {
  69.     my $ip= shift;
  70.     my  (@rr,@ff);
  71.     my $xx = "http://viewdns.info/reverseip/?host=".$ip."&t=1";
  72.     my $get = $ua->get($xx);
  73.     @rr = split (/Last Resolved Date/,$get->content);
  74.     @ff = split(/<\/table>/,$rr[1],0);
  75.     while ($ff[0] =~m{<\/td><\/tr><tr><td>(.*?)<\/td>}g){
  76.         push (@linkz,$1);
  77.     }
  78.     threads->detach();
  79. }
  80. sub wordpress {
  81.     my $link = shift;
  82.     my @files = ("/","/wp/","/wordpress/","/blog/",);
  83.     foreach my $vul(@files){
  84.         my $wp = "http://".$link.$vul;
  85.         my $req = $ua->get($wp."wp-includes/wlwmanifest.xml");
  86.         if ($req->content=~ /<clientType>WordPress<\/clientType>/){
  87.             print "[+] $wp :[WordPress]\n";
  88.             open(TNN,">>get-wordpress.txt");
  89.             print TNN "$wp\n";
  90.             close(TNN);
  91.         }
  92.         else {
  93.             print "[-] $link :[Unknown] \n";
  94.         }
  95.     }
  96.     threads->detach();
  97. }
Advertisement
Add Comment
Please, Sign In to add comment