无忧启动论坛

标题: LB5000存在Cookie变量未过滤漏洞 [打印本页]

作者: 清风客    时间: 2003-8-28 22:16
标题: LB5000存在Cookie变量未过滤漏洞
http://www.leoboard.com/> LB5000 是在国内一个非常流行的WEB方式的BBS系统。
论坛程序存在严重漏洞,任何人都可以利用此漏洞获得BBS系统的管理员权限,结合系统环境,可能进一步获得服务器的shell访问权限,甚至是主机的管理员权限。
受影响的软件版本和平台
----------------------
受影响的软件版本: LB5000II v1029以下
受影响的操作系统: Windows,Linux, Solaris sparc, Solaris x86, AIX, HP, Digital, IRIX, SCO etc.
细节
----
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.建议对写入文件的变量进行过滤
 
--------------------------------------------------------------------------------

雷傲论坛(Leoboard 5000 II)存在安全漏洞,导致用户帐号密码信息泄露
漏洞描述:
雷傲论坛是著名的CGI站点(CGIer.com)的产品,被国内很多知名站点采用。
用户备份文件,缺省为“backup/alluser.pl”,其中存储所有注册用户的帐号密码等信息。由于缺省状态下没有任何安全保护措施,导致远程攻击者获得全部或者部分注册用户的敏感信息。
例如:输入“http://www.notfound.org/lb5000/cgi-bin/backup/alluser.pl”,可能会直接下载文件或者得到如下返回信息:
CGI Error
The specified CGI application misbehaved by not returning a
complete set of HTTP headers. The headers it did return are:
Bareword found where operator expected at
D:\grzy\musa\bbs\cgi-bin\backup\alluser.pl line 1, near "7456.cgi"
(Missing operator before cgi?)
Number found where operator expected at
D:\grzy\musa\bbs\cgi-bin\backup\alluser.pl line 1, near "cgi 7456"
(Do you need to predeclare cgi?)
Number found where operator expected at
D:\grzy\musa\bbs\cgi-bin\backup\alluser.pl line 1, near "7456
226275"
(Missing operator before 226275?)
Bareword found where operator expected at
D:\grzy\musa\bbs\cgi-bin\backup\alluser.pl line 1, near "226275
Member"
(Missing operator before Member?)
Bareword found where operator expected at
D:\grzy\musa\bbs\cgi-bin\backup\alluser.pl line 1, near "3 wugang"
(Missing operator before wugang?)
Array found where operator expected at
D:\grzy\musa\bbs\cgi-bin\backup\alluser.pl li
从上面的信息可以看出帐号为“6456”,密码为“226275”,名字叫“吴刚”,呵呵。。。
在特定情况下,也可能导致物理路径泄露:
'E:\Inetpub\wwwroot\china918.net\lb5000\cgi-bin\backup\alluser.pl'
script produced no output
或者为:
CGI Error
The specified CGI application misbehaved by not returning a
complete set of HTTP headers. The headers it did return are:
Can't open perl script
"e:\4esystem\wwwroot\stores\wwwfox\cgi-bin\backup\alluser.pl": No
such file or directory
解决方案:
1.限制对该文件的访问
2.把该文件改为比较难猜的名字





欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3