O servidor SQL sp_executesql procedimento armazenado executa instruções SQL dinâmicas criadas em um aplicativo. Injeção de SQL é um hack que permite aos usuários obter acesso ao seu banco de dados SQL. Use os procedimentos armazenados sp_executesql , juntamente com a função "Substituir" para substituir o caractere de aspas , que é usado para executar código malicioso no seu servidor . Instruções
1
Clique no Windows botão " Iniciar" e selecione "Todos os Programas". Clique em " SQL Server ", clique em " SQL Server Management Studio " para abrir o software.
2
Digite seu nome de usuário e senha na tela de login do servidor SQL para acessar os bancos de dados do servidor. Clique em um banco de dados que você deseja consultar e selecione " New Query " para abrir o editor.
3
Crie uma consulta SQL dinâmico. O código a seguir cria uma consulta dinâmica que contém citações dentro do comunicado:
declare @ consulta como nvarchar ( 500) set @ query = " SELECT nome de clientes onde signupdate = '' 2011/01/01 '' '
neste exemplo, um hacker pode inserir citações na função cláusula "where" , o que provoca erros na sua consulta SQL.
4
Use o procedimento armazenado sp_executesql com o Substituir para evitar a injeção de SQL. Digite o seguinte código no editor :
sp_executesql Replace ( @ query , '\\ '','' '')
O código substitui cada apóstrofo com aspas duplas , o que elimina a possibilidade de injeção de SQL.
5
Pressione a tecla F5 para executar a instrução . O SQL é executado e os resultados da consulta de exibição no painel de resultados.