RE: Paper: SQL Injection Attacks by Example
I believe changing to stored procedures is good not just because it's
impossible to inject something to the query the same way it's done with
regular queries - but because in addition to that you can restrict
permissions for connected user to run only stored procedures and be even
more specific with them.
This way no injected code will be able to execute because of permissions and
it will allow control of that on DB server level versus web app code level.
Sergey
-----Original Message-----
From: David Litchfield [mailto:davidl@xxxxxxxxxxxxxxx]
Sent: Wednesday, January 05, 2005 2:20 PM
To: 'Steve Friedl'; bugtraq@xxxxxxxxxxxxxxxxx
Subject: RE: Paper: SQL Injection Attacks by Example
Hi Steve,
Nice paper. However, one small nitpick - under "Mitigations" you list using
stored procedures if the database supports them. I've seen other people
suggest this as a defensive strategy as well.
Using stored procedures will *not* protect you from SQL injection attacks.
Firstly, they can be injected into just as easily as a select statement.
Secondly, the procedure itself can be vulnerable to SQL injection. I have
seen for example, procs that use double quotes internally and single quotes
on input.
That said, stored procedures are generally faster so it's better to use them
for performance reasons, anyway.
Cheers,
David Litchfield