![Logo](/xescuder/buggy-oscommerce/raw/main/images/buggy-oscommerce.png)
A buggy application for testing purposes. Find bugs with exploratory testing way or scripted!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Buggy osCommerce is a broken web application in order to understand behavior of bugs.
Make sure you have installed all of the following prerequisites on your VPS/cloud machine:
- Ubuntu 16.04 LTS
- Apache2
- MySQL
- PhpMyAdmin
You can fulfill easily these prerequisites using next steps:
-
Install Apache2:
sudo apt update sudo apt install apache2 sudo ufw allow in "Apache"
Go to your server url and check Apache has been installed.
-
Install MySQL:
sudo apt-get update sudo apt-get install mysql-server
Check status:
systemctl status mysql.service sudo service mysql start
-
Install Php:
sudo apt-get install php
-
Install PhpMyAdmin:
sudo apt-get install phpmyadmin
Choose web apache 2 server, and configure database for phpmyadmin (yes). use the same password you've set on MySql root user.
Open apache configuration file:
sudo -H nano /etc/apache2/apache2.conf
And add at the end:
Include /etc/phpmyadmin/apache.conf
Finally add Php Interpreter with:
sudo apt-get install libapache2-mod-php
Open a web browser to: http://your-server/phpmyadmin/ and see login is shown correctly.
-
Download osCommerce application from https://www.oscommerce.com/Products and unzip.
-
Create database:
mysql –u root –p mysql> CREATE DATABASE oscommerce; mysql> GRANT ALL PRIVILEGES ON oscommerce.* TO 'phpmyadmin'@'localhost'; mysql> quit
-
Create on server a new directory at `/var/www/html':
cd /var/www/html mkdir oscommerce chmod -R 777 oscommerce/
-
Open a SFTP connection to your server (using for example
Filezilla
) and copy the unziped contents of foldercatalog
inside the folder/var/www/html/oscommerce
. -
Set permission to
oscommerce
folder:chmod -R 777 oscommerce/
-
Open in a browser the url:
<your-server>/oscommerce/install/
and push Start. Set the default values.- Database server: localhost
- Username: root
- Password:
<password used for db>
- Database name: oscommerce
- WWW Address (leave default)
- Webserver Root directory (leave default)
- Store name: UPC School Agile IT Shop
- Store ower e-mail address:
<your-email-address>
- Administrator username: root
- Administrator password:
<set-a-password>
- Administration directory name: admin
-
Open a browser url to:
http://your-server/oscommerce/index.php
Now we've osCommerce installed without injected bugs.
- Clone the project at
https://github.com/xescuder/buggy-oscommerce
. - Copy the content of
src/public_html
into the server folder/var/www/html/oscommerce
overwriting all files.
For all the injected bugs in the application, please refer to the Change log
After the injected bugs you can simulate more bugs updating the database, using PhpMyAdmin.
For example:
-
Incorrect images on some products (go to table 'products')
- Blade Runner - Director's Cut (products_id=5)
- You've Got Mail
-
Incorrect images on some products (go to table 'categories')
- Hardware - Graphics cards, Keyboards
After some experience in using osCommerce, and before the injected bugs, we can consider also as issues and bugs:
- Add more than 99 to quantity in one item of cart. Field allows you, but really only 99 is allowed.
- A confirmation is not sent to the provided email address.
- Some buttons seem not really enabled (Continue or New Customer, Add to Cart, ...)
- After logoff I can see my previous Shopping Cart
Distributed under the MIT License. See LICENSE.txt
for more information.
Xavier Escudero - @xescuder - xescuder@gmail.com
Project Link: https://github.com/xescuder/buggy-oscommerce