BugTraq
RE: Paper: SQL Injection Attacks by Example Jan 05 2005 08:11PM
Scovetta, Michael V (Michael Scovetta ca com) (3 replies)
David,

Actually, to nitpick your comment a bit, stored procedures usually have
typed input variables:

create procedure foo ( a int, b varchar(20) ) as ...

At least in MSSQL, you'd have to do something bad like use sp_executesql
or some other function that will re-form a complete sql query and pass
that to the interpreter. As long as you do more sensible stuff like:

insert into table (name, age) values (@b, @a)

you should be fine.

Michael Scovetta
Computer Associates
Senior Application Developer

-----Original Message-----
From: David Litchfield [mailto:davidl (at) ngssoftware (dot) com [email concealed]]
Sent: Wednesday, January 05, 2005 2:20 PM
To: 'Steve Friedl'; bugtraq (at) securityfocus (dot) com [email concealed]
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

[ reply ]
Re: Paper: SQL Injection Attacks by Example Jan 05 2005 09:37PM
Chip Andrews (chip sqlsecurity com)
RE: Paper: SQL Injection Attacks by Example Jan 05 2005 09:09PM
David Litchfield (davidl ngssoftware com)
Re: Paper: SQL Injection Attacks by Example Jan 05 2005 08:56PM
Cory Foy (Cory Foy mobilehwy com)


 

Privacy Statement
Copyright 2010, SecurityFocus