#!/usr/bin/perl use strict; use HTTP::Request::Common; use LWP::UserAgent; use HTML::Entities; use HTTP::Cookies; die "autoreg.pl " if @ARGV != 3; open(PROXIES, $ARGV[0]) or die "Cannot open $ARGV[0]"; open(NEWACCOUNTS, ">$ARGV[1]") or die "Cannot open $ARGV[1]"; my $ua = LWP::UserAgent->new; push @{$ua->requests_redirectable}, 'POST'; my @domains = ( "goat.cx", "aol.com", "sbcglobal.net", "comcast.net", "kc.rr.com", "neo.rr.com", "houston.rr.com", "stanford.edu", "utexas.edu", "nyu.edu", "pitt.edu", "lsu.edu", "zdnet.com", "tubgirl.com", "telepac.pt", "online.no", "fbi.gov", "cox.net", "austin.rr.com", "satx.rr.com", "nycap.rr.com", "charter.com", "rutgers.edu", "drudgereport.com", "gmail.com", "hotmail.com", "mail.com", "slashdot.org", "technocrat.net", "netscape.net", "hp.com", "compaq.com", "apple.com", "computerweekly.com", "smu.edu", "playboy.com", "oralse.cx", "nic.cx", "hitler.org", "didwtc.com", "sportinglife.com", "mercurynews.com", "download.com", "com.com", "ready.gov", "fark.com", "earthtimes.org", "army.mil", "spam.com", "xten.com" ); my @names = ( "jews", "wtc", "ANUS", "president", "negro", "gay", "rotten", "hearties", "nazi", "PRENATAL", "EXTRAMARITAL", "affairs", "GrUnT", "IMProv", "jewish", "zionist", "babylon", "star", "trek", "the", "next", "generation", "Association", "fantasies", "skywalker", "cock", "suck", "track", "goatse", "tubgirl", "terrorismsux", "new", "york", "University", "zyklon-b", "lover", "obsessed", "x_emo_x", "fagg", "british", "douchebag", "cunnilingus", "negroid", "jewcocks", "circumcision", "death", "iraqi", "afghanistan", "nathian", "time", "lets", "go", "hello", "how_are", "heroic_homosex", "pornography", "tubs", "large", "black", "cock", "anal", "bum", "cover", "ballocks", "towers", "brits", "cunny", "needs", "life", "please", "horny", "bastard", "african", "mexican", "american", "turkish", "conspiracy", "government", "explodes", "torrents", "slashdot", "wow", "cool", "walker", "FLOODED", "rofl", "rolloffles", "straight", "gay", "homo", "pervert", "queer", "homosexuality", "hitler", "British", "Jerusalem", "journalists", "military", "Scotsman", "Chicago", "biggest", "Johnson", "amazement", "Naproxen", "sold", "under", "the", "brand", "name", "Aleve", "The", "warning", "was", "provoked", "New", "research", "belies", "pervasive", "belief", "that", "dying", "can", "postpone" ); sub GenerateEmail() { my $email; for (1 .. 3) { $email .= $names[int(rand(@names))] . "_"; } $email =~ s/_$//; $email .= int(rand(9999)); $email .= "@" . $domains[int(rand(@domains))]; return $email; } sub GenerateUser() { my $username; for (1 .. 3) { $username .= $names[int(rand(@names))] . "_"; } $username =~ s/_$//; $username .= int(rand(9999)); return $username; } my $i = 0; while () { my $vs; $ua->cookie_jar(HTTP::Cookies->new); $ua->proxy('http', "http://$_/"); my $request = $ua->request(GET "http://www.xanga.com/register.aspx"); chomp; unless ($request->is_success) { print "Unable to open registration page: $_\n"; next; } foreach my $l (split /\n/, $request->content) { if ($l =~ /name=\"__VIEWSTATE\" value=\"([^\"]+)\"/i) { $vs = $1; } } if (not defined $vs) { print "Unable to get VIEWSTATE: $_ "; next; } encode_entities($vs); my $email = GenerateEmail(); encode_entities($vs); my $username = GenerateUser(); encode_entities($username); my $request = $ua->request( POST 'http://www.xanga.com/register.aspx', [ __VIEWSTATE => $vs, txtEmail => $email, txtUsername => $username, txtPassword1 => "123456", txtPassword2 => "123456", chkOver13 => "on", chkReadTerms => "on", btnContinue => "Create+Account%21", ] ); if ($request->is_success && $request->content =~ /The Xanga Setup Wizard!/) { $i++; print NEWACCOUNTS "$username 123456\n"; print "Created xanga account $username successfully\n"; } else { print "Did not create an account with $_\n"; print STDERR $request->content; } if ($i == $ARGV[2]) { exit; } }