The Register® — Biting the hand that feeds IT

Comments on: New attack technique threatens databases

Ah, external developers 

Posted Monday 28th April 2008 15:05 GMT

What a short-sighted money saver they are.

External or internal developers 

Posted Monday 28th April 2008 15:57 GMT

It won't make any difference if you don't build security into your requirements and QA processes.

Eh? 

Posted Monday 28th April 2008 17:29 GMT

"In the past this has not been possible but as this paper will demonstrate, with a little bit of trickery, you can in the Oracle RDBMS"

Seems the guy must imagine that prior to Newton gravity wasn't possible?

Of course... 

Posted Monday 28th April 2008 18:12 GMT

How shocking, yet ANOTHER Oracle vulnerability; which will take them 24-32 months to fix.

If you are crazy enough to use this POS on your enterprise, plan on increasing your auditing for all associated file systems.

Good luck.

Wait 

Posted Monday 28th April 2008 19:39 GMT

I thought only MSSQL was crappy

Was Oracle not the one selling UNBREAKABKE databases? 

Posted Monday 28th April 2008 20:18 GMT

Boffin

WTF? Marketing people LIE!!!!

OMFG. Pwned. Wallhack. My world will never be the same again.

Or you could... 

Posted Monday 28th April 2008 21:35 GMT

Dead Vulture

Sack the 'tard for not using bind variables in his sql code and get someone who knows what they are doing to do the work. It's not as if Tom Kyte hasn't been banging on about this since the beginning of the millenium.

Sick vulture because it could swallow a program spec and puke better code than that.

Or you could.. 

Posted Tuesday 29th April 2008 05:17 GMT

Thumb Down

.. simply break the idiot's kneecaps with a well wielded lead pipe.

Not using bind variables is beyond idiotic.

Using DBMS_SQL, the most complex cursor interface in PL/SQL, is just plain stupid - the only time that DBMS_SQL is needed is when requiring a describe interface for a cursor.

And guess what - needing a describe interface means you have no fricken clue what the SQL projection is, thus dynamic SQL. And dynamic SQL is *ALWAYS* risky - and if you code that without a healthy dose of logic (and bind variables!), and then get hack.. your poor dumb bastard you, you deserved that.

What is sad though that these "lateral" SQL injections will likely work on many a system. Not because Oracle is that flawed. But because these code monkeys (not to be confused with real programmers) that write PL/SQL are just that damn stupid.

Seems like many is confusing the "unbreakable" slogan of Oracle to extend to their code monkeys. Sadly, that is not the case.

there's some code missing 

Posted Tuesday 29th April 2008 07:26 GMT

Happy

surely an exception section :

EXCEPTION WHEN OTHERS THEN

BEGIN

DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);

EXCEPTION WHEN OTHERS THEN RAISE;

END;

RAISE;

Error handling should always exist, regardless of whether you expect it to happen or not. I'm sure there's an easier, more elegant solution, but off the top of my head that should work. Cursors should always be closed in the event of an error!

Bind, bind, bind! 

Posted Tuesday 29th April 2008 09:19 GMT

As Dominic says this is VERY easy to avoid - simply binding the variable would prevent the attack - in addition it would likely save you resources as well as it would only soft parse the query instead of the hard parse everytime it has a new date plugged into the code.

@Aodhhan - is it a vulnerability though? Poor coding practice yes, but a vuln that needs fixing? I'm not convinced - IMHO it's a bit like saying that because you can shoot yourself in the foot with pointers in C, C needs fixing...

Not a great fan of Oracle but.... 

Posted Tuesday 29th April 2008 09:55 GMT

I agree with Gareth. Lazy/incompetent programmers do not a bug make :-)

slightly OT, but amusing. 

Posted Tuesday 29th April 2008 17:09 GMT

Hummm data-sanity attack....

http://xkcd.com/327/

@matt 

Posted Tuesday 29th April 2008 20:08 GMT

Joke

I agrie. Us Prophesionals do not maek erors in our sauce cod.

And wot F In Prophesionals?

Webcast: Jumpstart your Application Security initiatives