Advertisement
Papadopolis

Untitled

Feb 17th, 2012
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.16 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use CGI::Carp qw(fatalsToBrowser);
  4.  
  5. require LWP::UserAgent;
  6. require JSON;
  7. require HTTP::Cookies;
  8.  
  9. use LWP::Protocol::https;
  10. use HTTP::Request::Common;
  11. use MIME::Base64;
  12. use CGI;
  13.  
  14. my($recpChallenge, $req, $headers, %params, $emailUser, $cgi, $img) = ('6LfbTAAAAAAAAE0hk8Vnfd1THHnn9lJuow6fgulO');
  15.  
  16. print "Content-Type: text/html\n\n";
  17.  
  18. $cgi    = new CGI;
  19. $ua     = LWP::UserAgent->new;
  20.  
  21. $ua->default_header('Referer', 'https://twitter.com');
  22.  
  23. $req = $ua->request(GET 'http://www.google.com/recaptcha/api/challenge?k='. $recpChallenge);
  24. $req->content =~ m/challenge.{4}(.*?)'/;
  25.  
  26. $req = $ua->request(GET 'http://google.com/recaptcha/api/image?c='. $1);
  27. $img = encode_base64($req->decoded_content);
  28.  
  29. $rcf = $cgi->param('recaptcha_challenge_field');
  30.  
  31. if(defined($rcf)) {
  32.     &createFake($rcf);
  33. }
  34.  
  35. {
  36. print <<FORM
  37.     <br /><br />
  38.     <center>
  39.         <h2>digita o captcha e manda bala</h2>
  40.         <form method="POST" action="">
  41.             <img src='data:image/jpeg;base64,$img'/> <br />
  42.             <input type="text" name="recaptcha_challenge_field" style="width: 300px"/>
  43.         </form>
  44.     </center>
  45.     <script>document.getElementsByName('recaptcha_challenge_field')[0].focus()</script>
  46.    
  47. FORM
  48. }
  49.  
  50. $ua->cookie_jar(HTTP::Cookies->new(
  51.         'file'              => 'cookies.txt',
  52.         'autosave'          => 1,
  53.         'hide_cookie2'      => 0,
  54.         'ignore_discard'    => 1,
  55.     )
  56. );
  57.    
  58. $ua->agent('webkit browser 1.0');
  59. $ua->ssl_opts('verify_hostname' => 1);
  60.  
  61. sub createFake {
  62.     my $rf= shift;
  63.    
  64.     # pega um e-mail no no-spam.ws
  65.     $req = $ua->request(GET 'http://no-spam.ws');
  66.     $req->content =~ m/class..randomly.{2}value..(.*?)"/i;
  67.     $emailUser = $1;
  68.    
  69.     print 'E-mail: ', $emailUser, '@no-spam.ws<br />';
  70.    
  71.     $user = "papa".int(rand(10000000));
  72.     # cria o fake no twitter
  73.     %params = (
  74.         'authenticity_token'          => "",
  75.         'recaptcha_challenge_field'   => $recpChallenge,
  76.         'recaptcha_response_field'    => $rf,
  77.         'user[name]'                  => "Pedro Papadopolis",
  78.         'user[email]'                 => $emailUser. '@no-spam.ws',
  79.         'user[user_password]'         => "souapenasumfake",
  80.         'user[screen_name]'           => $user,
  81.         'user[remember_me_on_signup]' => 1,
  82.         'user[remember_me_on_signup]' => "",
  83.         'context'                     => front,
  84.         'user[discoverable_by_email]' => 1,
  85.         'user[send_email_newsletter]' => 1
  86.     );
  87.    
  88.     $req = $ua->request(POST 'https://twitter.com/account/create', \%params);
  89.     if($req =~ m/welcome/i) {
  90.         print 'Perfil ', $user,' criado, confirmando a conta...<br />';
  91.        
  92.         # confirma a conta
  93.         $req = $ua->request(GET 'http://no-spam.ws/?login='. $emailUser);
  94.         $req->content =~ m/mail.(\d+)/i;
  95.        
  96.         $req = $ua->request(GET 'http://no-spam.ws/?login='.$emailUser .'&mail='.$1);
  97.         $req->content =~ m/(http.{3}twitter\.com.account.confirm_email.*?)"/i;
  98.        
  99.         $req = $ua->request(GET $1);
  100.         print $req->content;
  101.     } else {
  102.         print '<font color="red">Captcha digitado errado.</font>';
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement