安全研究

安全漏洞
TWiki search功能任意SHELL命令执行漏洞

发布日期:2004-11-13
更新日期:2004-11-15

受影响系统:
TWiki TWiki 20030201
描述:
BUGTRAQ  ID: 11674
CVE(CAN) ID: CVE-2004-1037

TWiki是一个灵活、强大、安全并且简单的基于WEB的合作平台。

TWiki的search功能没有正确过滤用户提交的搜索字符串,远程攻击者可以利用这个漏洞以进程权限执行任意SHELL命令。

搜索功能中对搜索字符串的数据缺少过滤,提交包含SHELL元字符的数据,可以进程权限执行任意SHELL命令。

<*来源:Hans Ulrich Niedermann (hun@bawue.de
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110037207516456&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Hans Ulrich Niedermann (hun@bawue.de)提供了如下测试方法:

类似字符串可为如下数据:

doesnotexist1'; (uname -a; id) | sed 's/\(.*\)/__BEGIN__\1__END__.txt/'; fgrep -i -l -- 'doesnotexist2

建议:
厂商补丁:

TWiki
-----
可使用如下补丁方案:

--- twiki/lib/TWiki/Search.pm.orig    2004-11-12 20:16:56.000000000 +0100
+++ twiki/lib/TWiki/Search.pm    2004-11-12 20:36:21.000000000 +0100
@@ -135,6 +135,11 @@
     my $tempVal = "";
     my $tmpl = "";
     my $topicCount = 0; # JohnTalintyre
+    
+    # Hotfix for search string shell code insertion vulnerability
+    $theSearchVal =~ s/[^A-Za-z0-9+\-_]//g; # only accept known-good chars
+    $theSearchVal = substr($theSearchVal, 0, 100); # limit string to reasonable length
+    
     my $originalSearch = $theSearchVal;
     my $renameTopic;
     my $renameWeb = "";

浏览次数:3046
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障