SQLite
 sql >> Database >  >> RDS >> SQLite

Neutralizzazione impropria di elementi speciali utilizzati in un comando SQL

Valori in selectionArgs non è necessario eseguire l'escape dei parametri e non devono essere sottoposto a escape perché i caratteri di escape finirebbero nel database.

Esistono tre diversi casi di codice SQL visti da Veracode:

  • valori che non possono essere input dell'utente (come stringhe letterali nel codice sorgente);
  • valori che sono input dell'utente (perché provengono direttamente, ad esempio, da alcune caselle di modifica);
  • valori che potrebbero essere input dell'utente, perché lo strumento non è in grado di determinare la fonte.

Per ragioni di marketing, gli strumenti a pagamento tendono a gonfiare il più possibile i numeri dei problemi. Quindi Veracode segnala come problemi tutte le istanze del terzo caso.

In questo caso, Veracode non sa dove selection viene da, quindi si lamenta. Se quel valore è costruito dal tuo programma e non contiene mai alcun input dell'utente (cioè, tutti i valori di input dell'utente vengono spostati in ? parametri), allora questo è un falso positivo e devi dire a Veracode di stare zitto.