sql >> Databáze >  >> RDS >> SQLite

Nesprávná neutralizace speciálních prvků použitých v příkazu SQL

Hodnoty v selectionArgs parametry nemusí být escapovány a nesmí být escaped, protože znaky escape by skončily v databázi.

Veracode vidí tři různé případy kódu SQL:

  • hodnoty, které nemohou být uživatelský vstup (jako jsou řetězcové literály ve zdrojovém kódu);
  • hodnoty, které jsou uživatelský vstup (protože pocházejí přímo z, např. nějakého editačního pole);
  • hodnoty, které mohou být uživatelský vstup, protože nástroj nedokáže určit zdroj.

Z marketingových důvodů mají placené nástroje tendenci nafouknout problémová čísla co nejvíce. Veracode tedy hlásí všechny případy třetího případu jako problémy.

V tomto případě Veracode neví, kde je selection pochází, tak si stěžuje. Pokud je tato hodnota vytvořena vaším programem a nikdy neobsahuje žádný uživatelský vstup (tj. všechny hodnoty uživatelského vstupu jsou přesunuty do ? parametry), pak je to falešně pozitivní a musíte říct Veracode, aby zmlkl.




  1. Sledujte mě na Twitteru během summitu Microsoft MVP příští týden

  2. Jak vygeneruji vnořené objekty json pomocí nativních funkcí json mysql?

  3. Funkce okna nebo běžné tabulkové výrazy:počítejte předchozí řádky v rozsahu

  4. Bezplatné metody pro opravu poškozené databáze MySQL