A. From a code-inspection of the /includes/ folder files you sent, I don't see any immediately obvious injection risks.
- But I did notice that your /includes/modules/icAcadame/create_account.php file is based on code from an old version.
And it's also got a logic error in it: $kvk is probably supposed to be $btw here:```
if (ACCOUNT_BTW == 'true') $kvk = zen_db_prepare_input($_POST['btw']); // added for btw- en kvk nummer
2. I also note that you've added MODULE_PAYMENT_MONEYORDER_PAYTO_EXTRA to the moneyorder.php payment module, but it's never used anywhere.
3. I see that the tell_a_friend page is still present from an older version.
3b. So is the cc.php payment module.
4. You've added Attachment support to the /includes/modules/pages/contact_us/header_php.php but haven't upgraded that file to include the anti-spam support added to v1.5.1
5. You've deleted the English language pack entirely, and replaced it with a dutch language pack. My dutch is really weak, so I have not looked at your dutch language pack files for any validation.
Granted, SQL injections and XSS issues are rarely caused by language-pack issues.
6. You're using the iCacademe template. While a quick review of it doesn't seem to show any obvious security problems, some of the files are missing some of the improvements added to newer ZC versions.
B. Payload testing on your site
1. Blind SQL Injection:
a) Direct attempt: false. Can't reproduce on your site when using a browser and passing the payload request supplied. (starting with the home page, adding something to the cart to bring up the shopping_cart page with shipping-estimator present, and then attempting to hack it.
The zone_country_id is correctly sanitized, with the rogue ' marks removed thus nullifying the injection risk: [&scid=table\_table&zone\_country\_id=150%20OR%20bLIKEb](http://www.rvsgrepen.nl/index.php?main_page=shopping_cart&scid=table_table&zone_country_id=150%20OR%20bLIKEb)"
b) Browser injection attempt: **True**.
You should see an error in your /logs/ folder from just a few minutes ago, showing a MySQL error message.
I set zone_country_id to 150'%20OR%20'b'LIKE'b in the form using Firebug (and also set scid to table_table) and submitted the form. It triggered WARNING: An error has occurred...
This means that Zen Cart encountered a database error and halted execution.
I'd be interested in seeing the logged error message, as it will be the key to understanding it more.
Now, I can't recreate it on my development server, so it may be cause by differences in your code vs mine (I've not loaded a site using your code, because I don't have a matching database from you, and I'm not sure I want to go that far with this.)
You could try adding a temporary sanitization:
new file: /includes/functions/extra_functions/temporary_controlscan_sanitization.php ```
<?php
if (isset($_POST['zone_country_id'])) $_POST['zone_country_id'] = (int)$_POST['zone_country_id'];
- IH4 vulnerability: True.
The popup_image_additional tpl_main_page.php has commented-out the protection code without doing any other sanitization, thus creating the vulnerability:
//Begin Image Handler changes 1 of 2
//the next line is commented out for Image Handler 3
// if (file_exists($_GET['products_image_large_additional'])) {
//End Image Handler changes 1 of 2
echo '<a href="javascript:window.close()">' . zen_image($_GET['products_image_large_additional'], $products_values->fields['products_name'] . ' ' . TEXT_CLOSE_WINDOW) . '</a>';
//Begin Image Handler changes 2 of 2
//the next three lines are commented out for Image Handler 3
// } else {
// echo '<a href="javascript:window.close()">' . zen_image(DIR_WS_IMAGES . $products_image, $products_values->fields['products_name'] . ' ' . TEXT_CLOSE_WINDOW) . '</a>';
// }
//End Image Handler changes 2 of 2
?
- The other "medium"-rated issues about CSRF and forms not changing between refreshes are relatively moot, especially for the product_info page, since there's nothing sensitive going on there.