Che cosa significano gli avvisi di sicurezza di cflint?

0

Utilizzerò lo strumento open source cflint ma vorrei sapere quali sono in realtà alcuni degli avvisi che elenca o che implicano. Gli avvisi in questione sono quelli relativi alla sicurezza:

QUERYPARAM_REQ - SetSql() statement should use .addParam()

e

CFQUERYPARAM_REQ - cfquery should use < cfqueryparam>

Dati questi avvertimenti, che problema indicano con la sicurezza di un programma? Capisco quale correzione stanno suggerendo, ma quale problema causa questa sicurezza?

    
posta cluemein 24.05.2017 - 17:18
fonte

1 risposta

0

Sembra che ti chieda di utilizzare query SQL con parametri per impedire l' iniezione SQL . L'utilizzo di SQL parametrizzato impedisce gli attacchi di iniezione SQL del primo ordine trattando l'input come un parametro, anziché limitarsi a concatenare le stringhe. Ad esempio, considera la seguente query:

"Select * from dbo.Users where Lastname='{value}';"

Supponiamo che un utente malintenzionato stia tentando di inserire "" o 1 = 1; - ". Usando la concatenazione regolare, questa query diventa

Select * from dbo.Users where Lastname='' or 1=1; --;

e l'applicazione restituirà tutte le righe dalla tabella degli utenti. Con SQL parametrizzato, la query diventerà

Select * from dbo.Users where Lastname=''' or 1=1; --';

e restituirà solo le righe in cui il cognome corrisponde a "" o 1 = 1; - ".

Questo post di overflow dello stack potrebbe anche avere alcune informazioni utili.

    
risposta data 24.05.2017 - 18:30
fonte

Leggi altre domande sui tag