安全研究

安全漏洞
bbs_forum.cgi远程执行任意命令的漏洞

发布日期:2001-01-11
更新日期:2001-01-12

受影响系统:

Extropia bbs_forum.cgi 1.0
描述:

bbs_forum.cgi是eXtropia.com开发的一个流行的Perl CGI脚本。它支持Web
论坛的建立和维护。

bbs_forum.cgi 1.0版本没有正确地检查用户提供的经过URL编码的输入,该
输入值保存在“read”环境变量中。提交给该脚本的恶意构造的URL中可能包
含对服务器的文件系统中某些文件的引用,或者包含shell命令,这些命令将
以Web服务器的权限(即nobody用户)运行。结果,攻击者可以通过该脚本在
受影响的系统中执行任意代码或者读取任何文件。

<*来源:Cgisecurity.com Advisory #3.1(admin@cgisecurity.com) *>



测试方法:

警 告

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


如下的请求将得到bbs_forum.cgi的源码:
http://www.host.com/cgi-bin/bbs_forum.cgi?forum=<valid forum name>&read=../bbs_forum.cgi



建议:

临时解决办法:

NSFOCUS建议您暂时采用cgisecurity给出的解决办法:

在bbs_forum.cgi中查找下面的一行代码:

&ReadParse;

在其后插入如下代码对用户的输入进行检查:

if ($in{'read'} && $in{'read'} !~ /^\d+-\d+\.msg$/i)
{
print "Invalid Message #";
die("Invalid Message # provided: " .
$in{'read'});
}
if ($in{'reply_to_message'} &&
$in{'reply_to_message'} !~ /^\d+-\d+\.msg$/i) {
print "Invalid Reply To Message #";
die("Invalid Reply To Message # provided: " .
$in{'reply_to_message'});
}


厂商补丁:

http://www.extropia.com/hacks/bbs_security.html



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