Stored Procedure e SQL Injection
ManuelRighi non è online. Ultima attività: 12/07/2008 0.31.35ManuelRighi
Inserito il: 20 maggio 2008 23.01
15 messaggi dal 24 ott 2006 Istalla Microsoft Silverlight!
Ciao,
le Stored Procedure sono affette da possibili attacchi ?
Se si come è meglio proteggersi ?

Grazie in anticipo :)
Microsoft Most Valuable Professional
Re: Stored Procedure e SQL Injection
Andrea Montanari non è online. Ultima attività: 25/07/2008 12.34.34Andrea Montanari
Inserito il: 21 maggio 2008 12.49
contributi / Top Poster / Community manager / www.asql.biz / 907 messaggi dal 27 lug 2005 Istalla Microsoft Silverlight!
salve,
ManuelRighi wrote:
Ciao,
le Stored Procedure sono affette da possibili attacchi ?
Se si come è meglio proteggersi ?

Grazie in anticipo

dipende da cosa le procedure devono eseguire e dai parametri che vengono loro passati..
pensa ad esempio ad una procedura
CREATE PROCEDURE xxxx (
@Cmd varchar(1000)
)
AS BEGIN
EXECUTE (@Cmd);
END;

questa ovviamente e' la candidata ideale per attacchi di SQL Injection.. viene passato un "comando" da farsi eseguire all'interno della procedura tramite esecuzione di codice dinamico..
ovviamente @Cmd puo' quindi contenere qualche cosa come
SET @Cmd = 'SELECT * FROM .....';

al quale e' (potenzialmente) facile aggiungere codice iniettato similarmente a
SET @Cmd = @Cmd + '; DROP TABLE .....';
anche se va poi verificato il contesto di privilegio di esecuzione della procedura stessa..
ma tendenzialmente le stored procedures sono meno vulnerabili del codice dinamico generato a livello applicativo, in quanto al momento della loro codifica solitamente si aspettano parametri di "valori" da confrontare a livello dell'operatore, quindi "il parametro ID della riga da recuperare".. sono anche piu' sicure in quanto non viene mai eseguita una concatenazione di "operazioni" a livello di codice SQL..
avrai quindi il tuo "comando"
SELECT col1, col2
FROM dbo.tabella
WHERE colPK = @parametro_di_input;
e solo @parametro_di_input viene passato alla procedura, rendendo quindi teoricamente inviolabile l'esecuzione...

saluti

Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org

Vai a:

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums