jueves, 19 de diciembre de 2013

So verwenden Sie SQL Injections Sp_executesql zu kämpfen

Der SQL-Server Sp_executesql gespeicherte Prozedur ausführt dynamische SQL-Anweisungen, die Sie erstellen in einer Anwendung. SQL-Injection ist ein Hack, die Benutzern den Zugriff auf SQL-Datenbank gewinnen könnenVerwenden Sie die Sp_executesql gespeicherten Prozeduren zusammen mit der Replace-Funktion, um die einzelnen Anführungszeichen, die verwendet werden, um schädlichen Code auf dem Server ausführen zu ersetzen.

 

Sp_executesql INJECTIONS

 

Klicken Sie auf die Windows-Schaltfläche Start und wählen Sie Alle Programme. Klicken Sie auf SQL Server, klicken Sie dann auf SQL Server Management Studio, um die Software zu öffnen.

 

Geben Sie Ihren Benutzernamen und Ihr Passwort in die SQL Server-Log-in-Bildschirm, um die Server-Datenbanken zugreifen. Klicken Sie auf eine Datenbank, die abgefragt werden, und wählen Sie Neue Abfrage, um den Editor zu öffnen wollen.

 

Erstellen Sie eine dynamische SQL-Abfrage. Der folgende Code erstellt eine dynamische Abfrage, die Anführungszeichen in der Anweisung enthält:

 

declare @ Abfrage als nvarchar (500) set @ query = "select name von Kunden, wo signupdate ='' 1/1/2011'' '

 

In diesem Beispiel könnte ein Hacker Anführungszeichen in der where-Klausel, die Fehler in der SQL-Abfrage bewirkt einzufügen.

 

Verwenden Sie die Sp_executesql gespeicherte Prozedur mit dem Replace-Funktion, um SQL-Injection zu vermeiden. Geben Sie folgenden Code in den Editor:

 

Sp_executesql Replace (@ query '\'','''')

 

Der Code ersetzt jedes einzelne Zitat mit einem doppelten Anführungszeichen, die die Möglichkeit für SQL-Injection beseitigt.

 

Drücken Sie die F5-Taste, um die Anweisung auszuführen. Die SQL ausführt und die Ergebnisse der Abfrage Anzeige in der Ergebnisliste angezeigt.

 

 

No hay comentarios:

Publicar un comentario