15 messaggi dal 24 ottobre 2006
Ciao,
le Stored Procedure sono affette da possibili attacchi ?
Se si come è meglio proteggersi ?

Grazie in anticipo :)
1.976 messaggi dal 27 luglio 2005
Contributi
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
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

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.