shopfactory shopping cart Mar 05 2003 06:46AM
Maarten (secfocus hartsuijker com)
Security advisory

Issue: Shopfactory e-commerce application allows alteration of order details

Date: 03/05/03

Vendor first notified: December 2002

Affected versions: All available versions (current version Shopfactory 5.8)


Shopfactory is a shopping cart solution. According to the Shopfactory
website (http://www.shopfactory.com/), there are currently over 40.000
Internet sites that have built their online shop using Shopfactory software.
The Shopfactory software is built to operate mainly client site. From a
functionality and ease of use point of view, this choice is excellent.
People that are running an e-commerce site with Shopfactory do not need
extensive knowledge about typical back-end components and scripting
languages. They only need to run a wizard that will help them to create
their HTML code that can then be uploaded to their website.

The shopping cart of a customer is maintained using JavaScript and cookies.
When selecting a product, the cookie is updated with the details of the
product that has just been selected. After completing the order, the details
are submitted to a central server that Shopfactory is running for its


While the Shopfactory product is an excellent choice for shops that do not
have the resources/funds/technical know how to run a server-side based site,
the client side approach of this product is introducing security risks.

The main problem is that all actions that are trusted to the client side of
the configuration are also adjustable by the maintainer of that side. Since
the pricing of products within the sides is trusted to the client, a
customer of a shop that is using Shopfactory is able to determine his own
price for the product he wants to order. Within the site, there are three
main points where altering the price is possible:

1.. Before adding a product to your shopping cart, the price can be
altered to a preferred value. The price that will be send to the shopping
cart can be found in a hidden form field.
2.. When adding a product to your shopping cart, the price is stored in a
cookie. As of version 5.8, this cookie has been "encrypted". However, the
"encryption" and "decryption" of the cookie also happens client side. The
algorithm can be found in the JavaScript code that is included in one of the
frames of the site.
3.. After processing your shopping cart, the details in the cookie get
"decrypted" and are put into one form. At this point, all the details of
your order can be altered before you post them to a cgi on the Shopfactory
server, that is processing the order for the shop owner.

3D3 (the creators of Shopfactory) is working on the problems. In the future,
they will release a server-side shopping cart solution. With this step, it
will not be possible anymore to alter the prices on the client side. Besides
the new server-side solution, they will also keep on offering their current
client-side solution. 3D3 promised to release a new version that will make
it harder to alter the client side pricing. Nevertheless, obscurity will
never offer real security.

Currently, it is two weeks past the date that 3d3 said they would release a
fix. They did not respond to an e-mail sent to them a couple of days ago
that proposed to publish the issue to make current and future shop owners
aware of these problems.


If you have the possibilities and technical know-how consider migrating your
site to one that is keeping critical data server-side. If you do not have
these possibilities, checking prices of al orders by hand before processing
the order will mitigate the risks

[ reply ]


Privacy Statement
Copyright 2010, SecurityFocus