Penetration Testing mailing list archives
Re: SQL Injection with Informix
From: "Kevin Spett" <kspett () spidynamics com>
Date: Thu, 4 Jul 2002 01:38:00 -0400
You may need to use the date data type as well... I'm not sure about Informix (is it DB2 or its own thing, anyone know?) but on Oracle and some other servers, a numeric datatype may not implicitly covert to date format. Try wrapping a number in a convert()-type call to make it into a date type. If you can't get that, see if there is a sysdate variable you can use... If the date thing doesn't work out (amazing how this sounds like relationship advice) the offending column may be of an even more treacherous data type, such as binary information (images stored in a database are essentially binary streams for instance) that cannot be easily be pushed via a literal or a system variable through the ODBC driver. If this is so, I suggest praying for a clever idea to strike you. Check the Informix docs to see what kinds of data types are used and how they can and cannot be converted. Kevin Spett SPI Labs http://www.spidynamics.com/ ----- Original Message ----- From: "Whyte, Jesse" <Jesse.Whyte () us gambro com> To: <pen-test () securityfocus com> Sent: Wednesday, July 03, 2002 6:28 PM Subject: SQL Injection with Informix
I'm working on an application that appears to be vulnerable to SQL
Injection
and uses an Informix database on the backend. By altering the value sent
to
the application via Cold Fusion URL variables, I can get
Informix-generated
error messages. Using the error messages, I progress through the typical stages of a SQL Injection attack, getting Informix ODBC messages that help steer the creation of a valid string for injection, then getting the
column
numbers correct. However, I can't seem to get the data types correct,
even
though I have table descriptions for the table that I attempting to select from. The URL is basically
http://app.default.com/default.cfm?var='UNION%20ALL%20SELECT%20username%2C%2
0usertype%20FROM%20sysusers Where sysusers is the Informix system users table that should enumerate
the
system users. I'm just trying to grab it as a proof-of-concept. I've played with all different values in place of username and usertype for columns, including numerics (1), single characters ("a"), strings ("aaaaaaaa"), and even the column names like they are above. I keep
getting
these error messages: [Informix][Informix ODBC Driver][Informix]Corresponding column types must
be
compatible for each UNION statement. I'm not very SQL proficient, and my SQL resources have been exhausted. Anybody have any ideas at all? Even esoteric ones? Thanks... --------------------------------------------------------------------------
--
This list is provided by the SecurityFocus Security Intelligence Alert
(SIA)
Service. For more information on SecurityFocus' SIA service which automatically alerts you to the latest security vulnerabilities please
see:
https://alerts.securityfocus.com/
---------------------------------------------------------------------------- This list is provided by the SecurityFocus Security Intelligence Alert (SIA) Service. For more information on SecurityFocus' SIA service which automatically alerts you to the latest security vulnerabilities please see: https://alerts.securityfocus.com/
Current thread:
- SQL Injection with Informix Whyte, Jesse (Jul 03)
- Re: SQL Injection with Informix Martin Eiszner (Jul 04)
- Re: SQL Injection with Informix Kevin Spett (Jul 04)