SQL Injection tramite il nome della tabella?

0

È possibile eseguire l'iniezione SQL su una query in cui il nome della tabella viene passato come argomento? L'utente non inserisce il nome della tabella, ma può essere dedotto tramite gli ID elemento. Sto usando Microsoft SQL Server 2012 con Coldfusion 10, se questo aiuta.

Esempio:

SELECT * FROM [Database].[dbo].[#tableName#]

Il codice # tableName potrebbe essere utilizzato per iniettare codice dannoso?

Inoltre, i nomi dei parametri potrebbero essere vulnerabili all'iniezione?

Secondo esempio:

SELECT * FROM [Database].[dbo].[#tableName#] WHERE [#paramName#] = '#paramValue#'

Il secondo esempio presuppone l'uso di cfqueryparam di Coldfusion per l'impostazione di # paramValue #, quindi la domanda è più orientata all'uso di [#paramname #].

    
posta rm -rf slash 07.10.2015 - 14:53
fonte

1 risposta

3

. Suppongo che tu stia costruendo la tua query con concatenazione di stringhe.

Prendiamo

SELECT * FROM [Database].[dbo].[#tableName#]

Se sostituisci # tableName # di employee]; DELETE FROM [Database].[dbo].[employee , ottieni 2 query

SELECT * FROM [Database].[dbo].[employee];
DELETE FROM [Database].[dbo].[employee];

C'è un solo modo per correggere SQL Injection: usa query parametrizzate

    
risposta data 07.10.2015 - 15:04
fonte

Leggi altre domande sui tag