New Zenner
- Join Date:
- Jun 2009
- Posts:
- 5
- Plugin Contributions:
- 0
SecureTrust (previously called Trustwave) PCI scan of site fails
Hi. I am running three zen cart v1.5.7 sites. shopmedstore.dukestores.duke.edu, shopnasher.dukestores.duke.edu, and shopdivinity.dukestores.duke.edu.
We have been running zen cart for many years and it has been great. For PCI compliance we have regular scans. Usually we pass or need to install an Apache or PHP update. No big deal. This week we failed our scan due to SQL Injection Vulnerabilities listed for zen cart software for all three sites. They are all running the latest version 1.5.7
I pasted their explanation of the vulnerability below. It does appear that when they pass 8=8 (true) the output from zen cart contains form-data; name="y" and when they pass 8=6 (false) the output does not include that data.
Can this behavior be changed in zen cart? It is a problem?
CVE Number Vulnerability CVSS
Score Severity Compliance
Status Details
1 SQL Injection Vulnerability 7.5 High Fail
URL: https://shopdivinity.dukestores.duke.edu/index.php?main_page=%27+or+8%3D6+--+-&products_id=88&action=add_product
Port: tcp/443
A SQL injection vulnerability (SQLi) was identified in this web
application. SQL injection is when modified SQL syntax is supplied to a
user defined parameter to have it query the SQL database directly,
which is not the desired intent of the web application. A simple proof
of concept example of this would be for a user to supply "' or SELECT
DATABASES;--" to a user defined parameter and then upon submission,
a list of databases on the system would be supplied for the user
because the SQL query was interpreted directly on the SQL server
instance. SQL injection can be found in many different forms and
combinations so the full request and response that was used
demonstrate this vulnerability has been provided below as evidence.
All SQL Injection vulnerabilities are considered non-compliant by PCI.
CVSSv2: AV:N/AC:L/Au:N/C:P/I:P/A:P
Service: https
Reference:
https://www.owasp.org/index.php/Guide_to_SQL_Injection
https://www.owasp.org/index.php/SQL_Injection
Evidence:
DetectionDetails: Boolean based SQL vulnerability found
POST -
https://shopdivinity.dukestores.duke.edu/index.php?main_page=%27+or+8%3D6+--+-&products_id=88&action=add_product - main_page
False Injection: ' or 8=6 -- -
True Injection: ' or 8=8 -- -
True and false injections produced different responses
True Request: POST
https://shopdivinity.dukestores.duke.edu/index.php?main_page=%27+or+8%3D8+--+-&products_id=88&action=add_product
HTTP/1.1
Origin: https://shopdivinity.dukestores.duke.edu
Upgrade-Insecure-Requests: 1
Referer:
https://shopdivinity.dukestores.duke.edu/index.php?main_page=product_info&products_id=88
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
Sec-Fetch-User: ?1
Content-Type: multipart/form-data; boundary=----
WebKitFormBoundary7nBlQaZGTt8Q9Zta
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="securityToken"
b9c1e0c45095d895b9e1ff2fdedb2cd9
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="cart_quantity"
1
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="products_id"
88
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="x"
0
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="y"
0
------WebKitFormBoundary7nBlQaZGTt8Q9Zta--
False Request: POST
https://shopdivinity.dukestores.duke.edu/index.php?main_page=%27+or+8%3D6+--+-&products_id=88&action=add_product
HTTP/1.1
Origin: https://shopdivinity.dukestores.duke.edu
Upgrade-Insecure-Requests: 1
Referer:
https://shopdivinity.dukestores.duke.edu/index.php?main_page=product_info&products_id=88
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
Sec-Fetch-User: ?1
Content-Type: multipart/form-data; boundary=----
WebKitFormBoundary7nBlQaZGTt8Q9Zta
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="securityToken"
b9c1e0c45095d895b9e1ff2fdedb2cd9
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="cart_quantity"
1
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="products_id"
88
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
Content-Disposition: form-data; name="x"
0
------WebKitFormBoundary7nBlQaZGTt8Q9Zta
-end of message-