In SQL Server hat die [public]
Rolle standardmäßig EXECUTE
Rechte für sp_executesql
.
Ich habe jedoch einen Datenbankserver geerbt, auf dem der vorherige DBA das EXECUTE
Recht auf widerrufen hat sp_executesql
.
Als vorübergehende Problemumgehung habe ich EXECUTE
nach sp_executesql
Bedarf Rechte gewährt (über eine Rolle in der Master-Datenbank). Aber dies beginnt ein Unterhaltsschmerz zu sein.
Wenn ich EXECUTE
der Öffentlichkeit etwas zurückgebe, gibt es irgendwelche Auswirkungen, die ich beachten muss?
sql-server
security
permissions
AlexLostDba
quelle
quelle
sp_executesql
. Wenn Sie eine dynamische SQL-Anforderung annehmen und dann deaktivieren,sp_executesql
kann dies das Risiko tatsächlich erhöhen, da Sie zumindest die Abfragen parametrisieren können (im Gegensatz zuEXEC
)sp_executesql
ist das Deaktivieren keine angemessene Minderung. Die überwiegende Mehrheit der SQL-Injection-Fehler tritt im Client auf, wenn die SQL-Anweisung "von Hand" erstellt wird, indem SQL-Teile mit Eingabevariablen verkettet und dann "wie sie sind" ausgeführt werden. In all diesen Fällensp_executesql
hilft es nichts, behindert zu sein.