Basic search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:24176
HistoryJul 07, 2010 - 12:00 a.m.

iScripts MultiCart 2.2 Multiple SQL Injection Vulnerability

2010-07-0700:00:00
vulners.com
26

iScripts MultiCart 2.2 Multiple SQL Injection Vulnerability

Name iScripts MultiCart
Vendor http://www.iscripts.com
Versions Affected 2.2

Author Salvatore Fresta aka Drosophila
Website http://www.salvatorefresta.net
Contact salvatorefresta [at] gmail [dot] com
Date 2010-03-07

X. INDEX

I. ABOUT THE APPLICATION
II. DESCRIPTION
III. ANALYSIS
IV. SAMPLE CODE
V. FIX

I. ABOUT THE APPLICATION

iScripts MultiCart 2.2 is a unique online shopping cart
solution that enables you to have one storefront and
multiple vendors for physical or digital (downloadable)
products.

II. DESCRIPTION

The solution adopted to avoid SQL Injection flaws is not
appropriate. This allows the existence of many SQL
Injection flaws.

III. ANALYSIS

Summary:

A) Multiple SQL Injection

A) Multiple SQL Injection

The solution adopted consists in transforming the query
string in uppercase and checking the existence of the
words UNION and SELECT. But using the C-like comments in
the query string, it is possible to bypass the filter.
Example:

SELECT becomes SE//LE//CT
UNION becomes UN/**/ION

The new strings do not match with the words in the black
list but they are good for MySQL.
The following is the affected code (session.php):

$mystring = strtoupper($_SERVER['QUERY_STRING']);
$server_injec1=strpos($mystring, 'SELECT');
$server_injec2=strpos($mystring, 'UNION');

if (($server_injec1 === false) && ($server_injec2 === false) || ($server_injec1 === '0') && ($server_injec2
=== '0'))
{
;
}//end if
else
{
header('location:index.php');
exit();
}

IV. SAMPLE CODE

A) Multiple SQL Injection

http://site/path/refund_request.php?orderid=SQL

V. FIX

No Fix.