xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

LB5000 存在Cookie 变量未过滤漏洞


发布时间:2001-10-30
更新时间:2001-10-30
严重程度:
威胁程度:普通用户访问权限
错误类型:输入验证错误
利用方式:服务器模式

受影响系统
LB5000II v1029以下
-Windows,Linux, Solaris sparc, Solaris x86, AIX, HP, Digital, IRIX, SCO etc.
详细描述
<http://www.leoboard.com/> LB5000 是在国内一个非常流行的WEB方式的BBS系统。
   论坛程序存在严重漏洞,任何人都可以利用此漏洞获得BBS系统的管理员权限,结合系统环境,可能进一步获得服务器的shell访问权限,甚至是主机的管理员权限。
    问题存在于File:Search.cgi
---[L.59-60]---
$inmembername     = $query->cookie("amembernamecookie");
$filename = $inmembername;
---
As we can see, $inmembername is the get for cookie 'amembernamecookie'
---[L.71-]---
$searchfilename = "$lbdir" . "search/$filename";
---
---[L.134-140]---
    open (SEARCH, ">$searchfilename") or die "不能够保存到 search 目录,请设置此目录为 777 !";
    print SEARCH "$CUR_TIME\n";
    print SEARCH "$SEARCH_STRING\n";
    print SEARCH "$TYPE_OF_SEARCH\n";
    print SEARCH "$REFINE_SEARCH\n";
    print SEARCH "$FORUMS_TO_SEARCH\n";
    close (SEARCH);
---
---
Well, it sets the file, runs it through the filter and opens it.
-> $cookie("amembernamecookie");, remember?! ;)

在此段代码中,变量$filename也就是从Cookie所得的amembernamecookie没有对".."进行过滤,攻击者可以通过伪造cookie("amembernamecookie")在系统上任何可写的目录中创建或修改文件,而且写入文件的变量也未做任何过滤,所以文件的内容也可由攻击者任意操纵,借此可以获得bbs的管理员权限。

在UNIX类系统中,如果系统安装了PHP,可以通过BBS提供的上传文件功能,上传一个执行shell的PHP脚本,从而获得主机的shell访问权限。

在Windows系统中,鉴于Windows系统执行Perl CGI的特殊机制,可以直接用些漏洞生成一个合法的PERL脚本,即可直接获得在Windows主机上执行命令的能力。

测试代码
鉴于LB5000的流行性,攻击方法暂不公布!

解决方案
临时解决办法
------------
1.Cookie的问题临时解决办法
可以在第60行$filename = $inmembername;之前,加下下面两行
$inmembername =~ s/\///g;
$inmembername =~ s/\.\.//g;
2.建议对写入文件的变量进行过滤


厂商信息
--------

在2001年10月29日通知了厂商
厂商主页: http://www.leoboard.com

相关信息
发 现 者: By NetGuard Security Team
           Chen Jun (chenjun@netguard.com.cn)
主    页: http://www.netguard.com.cn