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(网友投票)