RE: SQLi with backslash

"Onken, Skyler" <[email protected]>
Newsgroups gmane.comp.security.web-applications
Message-ID <01FE6A95F4DA9A438601FE3996E984EB29C497@SN2PRD0102MB119.prod.exchangelabs.com>
That trick is dependent upon the SQL database being configured to use the BIG-5 charset. Worth a try, but I have found that most are not. 
________________________________________
From: [email protected] [[email protected]] on behalf of Voulnet [[email protected]]
Sent: Saturday, June 25, 2011 10:51 AM
To: Robin Wood
Cc: [email protected]
Subject: Re: SQLi with backslash

Okay then, have you tried an alternate encoding? MySQL can act funny
when asian characters are used. For reference you can see this:

http://stackoverflow.com/questions/1220182/does-mysql-real-escape-string-fully-protect-against-sql-injection

Because, if I understand correctly, there would a discrepancy between
what PHP sees (thinking it is a normal multibyte character and passing
it on, and what MySQL sees if set incorrectly which would result in it
parsing the asian character as something + single quote.

By the way, have you tried the char(39) or hex encoding and verified
it didn't work?

On Sat, Jun 25, 2011 at 1:36 PM, Robin Wood <[email protected]> wrote:
> On 24 June 2011 18:17, Voulnet <[email protected]> wrote:
>> They are probably using that mysql_real_escape_string php function,
>> which escapes these characters. There are many ways to bypass it, and
>> you can find it all over the web.
>>
>> Some examples:
>>
>> use char(39) <-- ASCII decimal value of ' is 39
>> or use the hex value. For example SELECT (0x27) <-- 27 is the hex value of '.
>>
>> For example if you want to load a file, you would call
>> load_file('myfile'), using hex encoding you take 'myfile' with the
>> single quotes included and convert it to hex, then write it as
>> load_file(0x27..........27) with the rest of the hex values of the
>> filename characters filled in between.
>>
>
> No, all they are doing is stripping ' and ", they dump the statements
> to screen in the error message.
>
> And using 0x27 will just end up with the string 0x27 being inserted as
> it is inside the single quoted string. That might help if I could
> escape the quotes but that is the bit I can't do.
>
> Robin
>
>>
>> On Wed, Jun 22, 2011 at 5:03 PM, Robin Wood <[email protected]> wrote:
>>> Hi
>>> I've got a scenario where both single and double quotes are being
>>> stripped but no other escaping appears to be being performed. The
>>> database is MySQL with php on top.
>>>
>>> The query that I've found SQL injection on is in the form
>>>
>>> insert into log values ('a', 'b');
>>>
>>> where I can inject in to the second parameter.
>>>
>>> If I inject a backslash then I get
>>>
>>> insert into log values ('a', 'b\');
>>>
>>> which gives an invalid SQL statement and is how the injection was
>>> found. Can anyone come up with a way to exploit this? If I put
>>> anything before the slash isn't really worth anything and if I put
>>> anything after then the statement becomes valid and the slash escapes
>>> whatever character is after it.
>>>
>>> I thought about using the slash to encode something but couldn't get it to work.
>>>
>>> The table is write only for me, I can't see any of its entries echo'ed
>>> back to the site anywhere so I can't go for stored XSS or anything
>>> like that (maybe possible but not in the time available for the test).
>>>
>>> Apart from breaking the statement I can't see a way to exploit this,
>>> can anyone else?
>>>
>>> Robin
>>>
>>>
>>>
>>> This list is sponsored by Cenzic
>>> --------------------------------------
>>> Let Us Hack You. Before Hackers Do!
>>> It's Finally Here - The Cenzic Website HealthCheck. FREE.
>>> Request Yours Now!
>>> http://www.cenzic.com/2009HClaunch_Securityfocus
>>> --------------------------------------
>>>
>>>
>>
>



This list is sponsored by Cenzic
--------------------------------------
Let Us Hack You. Before Hackers Do!
It's Finally Here - The Cenzic Website HealthCheck. FREE.
Request Yours Now!
http://www.cenzic.com/2009HClaunch_Securityfocus
--------------------------------------




This list is sponsored by Cenzic
--------------------------------------
Let Us Hack You. Before Hackers Do!
It's Finally Here - The Cenzic Website HealthCheck. FREE.
Request Yours Now! 
http://www.cenzic.com/2009HClaunch_Securityfocus
--------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.