DCForum可预测口令产生机制漏洞
发布日期:2002-01-31
更新日期:2002-02-07
受影响系统:DC Scripts DCForum 6.21
DC Scripts DCForum 6.0
DC Scripts DCForum 5.0
DC Scripts DCForum 2000
DC Scripts DCForum 2000 1.0
不受影响系统:DC Scripts DCForum 6.22
DC Scripts DCForum 4.0
DC Scripts DCForum 3.0
DC Scripts DCForum 2.0
DC Scripts DCForum 1.0
描述:
BUGTRAQ ID:
4014
CVE(CAN) ID:
CVE-2002-0226
DCForum是一种基于WEB的会议系统,设计用于在线讨论。它是用Perl实现的,几乎没有系统相关性,可以运行于Linux、Windows以及绝大多数Unix变体上。
DCForum口令产生机制上存在漏洞,可能使远程攻击者得到用户的初始口令。
注册新用户时如果DCForum选用Email方式通知新用户初始口令,此时系统采用的初始口令产生机制与用户丢失口令后申请新口令时采用机制是类似的。而这个口令产生机制导致即将产生的口令是可预测的,意味着新用户填写一个虚假的Email地址,仍然可以获取自己的初始口令。
在Lib/user_register.pl中有如下代码
<snip>
if ($r_in->{'command'} eq 'register') {
</snip>
<snip>
if ($r_setup->{'auth_register_via_email'} eq 'on') {
my $session = get_session_id();
$r_in->{'password'} = substr($session,3,6);
</snip>
产生的口令仅仅是用户SessionID中第3个字符开始的6个字符(从1开始计)。任何了解如
何在cookie中查看一个值的用户都可以获取这个口令。
<*来源:shimi (
shimi@jct.ac.il)
链接:
http://archives.neohapsis.com/archives/bugtraq/2002-01/0455.html
http://archives.neohapsis.com/archives/bugtraq/2002-01/0396.html
http://www.dcscripts.com/bugtrac/DCForumID7/3.html
http://www.dcscripts.com/dcforum/dcfBug/1198.html
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 修改程序:
1) 在retrieve_password.pl中找到如下代码
$new_password = substr($new_password,1,6);
删除这行代码,替换成
srand(time|$$);
$new_password = int (rand(100000000));
2) 在user_register.pl中找到如下代码
$r_in->{'password'} = substr($session,3,6);
删除这行代码,替换成
srand(time|$$);
$new_password = int (rand(100000000));
厂商补丁:
DC Scripts
----------
目前厂商已经6.22版软件中修复了这个安全问题,请到厂商的主页下载:
http://www.dcscripts.com/dcforum.shtml浏览次数:3007
严重程度:0(网友投票)