SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Unsachgemäße Neutralisierung von speziellen Elementen, die in einem SQL-Befehl verwendet werden

Werte in selectionArgs Parameter müssen nicht maskiert werden, und sie dürfen nicht maskiert werden, da die Escape-Zeichen in der Datenbank landen würden.

Es gibt drei verschiedene Fälle von SQL-Code, die von Veracode erkannt werden:

  • Werte, die nicht sein können Benutzereingaben (z. B. Zeichenfolgenliterale im Quellcode);
  • Werte, die sind Benutzereingaben (weil sie direkt aus z. B. einem Bearbeitungsfeld stammen);
  • Werte, die sein könnten Benutzereingabe, da das Tool die Quelle nicht ermitteln kann.

Aus Marketinggründen neigen kostenpflichtige Tools dazu, die Problemzahlen so weit wie möglich aufzublähen. Daher meldet Veracode alle Instanzen des dritten Falls als Probleme.

In diesem Fall weiß Veracode nicht, wo selection kommt, also beschwert es sich. Wenn dieser Wert von Ihrem Programm erstellt wird und niemals Benutzereingaben enthält (d. h. alle Benutzereingabewerte werden nach ? verschoben Parameter), dann ist dies ein falsch positives Ergebnis und Sie müssen Veracode sagen, dass es die Klappe halten soll.