Tema: Re: HELP SQL
Autorius: Jornada Del Muerto
Data: 2010-01-25 11:37:25
>> EXEC ('SELECT ContactID,
>>    FirstName,
>>    LastName
>>  FROM '+ @LentelePavadinimas + '
>>  WHERE LastName = ' + @LastName + '
>>  ORDER BY Contact
>>      )

    Si procedura daro SQL injection - jei paleidineji proceduroje SQL teksta, tada issaugojant procedura SQL serveriui visiskai vienodai kas tas tekstas ir taip gali bandyt paleist absoliuciai bet koki teksta kaip SQL ir privelti kokiu tik nori klaidu kode, kitaip sakant kam tada is viso proceduros, duok tiesiog uzklausa.

    Lenteles taip paprastai kaip kokio kintamojo MSSQL ideti neina i paprasta T-SQL select'a, bet yra user defined functions: http://msdn.microsoft.com/en-us/library/ms186755.aspx is ju gal sudomins table valued functions, tai funkcijos galincios grazinti lentele:

CREATE FUNCTION ManoFunkcija
( @id int )
RETURNS TABLE 
AS
RETURN 
(
 SELECT @id
)
GO


Gal ka naudingo rasi arba bent jau is proceduru injekcija iskelsi i funkcijas.