none
View x SQL Injection RRS feed

  • Pergunta

  • Prezado(a)s, Bom Dia !

    A utilização de uma View dentro do código da ferramenta pode gerar um "SQL Injection", por exemplo:

    Um View que gera um relatório em uma página da ferramenta:

    select nm_funcionario, dt_admissao, vl_salario from View_Cadastro

    quarta-feira, 16 de abril de 2014 13:57

Respostas

  • Getulio,

    Sim. O SQL Injection pode ser executado dentro de grande parte de instruções SQL que não tenham proteção para concatenação de instruções, inclusive VIEWs.

    Recomendo atenção para alguns pontos:

    - Evite a utilização de SQL Dinâmico: "EXEC()" ou "sp_execute";

    - Procure utilizar mais variáveis/parâmetros numéricos (int, decimal, numeric, ...);

    - Sempre que possível, finalize sua execução com ";" 

    - Em variáveis/parâmetros do tipo string, crie verificação para evitar a inclusão de comentários: "--" ou "/**/"

    - Em variáveis/parâmetros do tipo string, crie verificação para evitar a inclusão de palavras reservadas: "AND", "OR" e outras

    - Em variáveis/parâmetros do tipo string, crie verificação para evitar a inclusão de aspas simples: '

    - Utilize permissões de acesso adequadas para o usuário da aplicação, como apenas: "SELECT", "UPDATE", "INSERT", "DELETE" e "EXECUTE" (e outras que definir necessárias)

    Com estes tratamentos, você vai minimizar muito vários tipos de SQL Injection.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Marcado como Resposta Getulio Torres S terça-feira, 22 de abril de 2014 12:57
    quinta-feira, 17 de abril de 2014 18:15

Todas as Respostas

  • Getulio,

    Sinceramente não consegui entender o que você esta querendo.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 17 de abril de 2014 13:55
    Moderador
  • Getulio,

    Sim. O SQL Injection pode ser executado dentro de grande parte de instruções SQL que não tenham proteção para concatenação de instruções, inclusive VIEWs.

    Recomendo atenção para alguns pontos:

    - Evite a utilização de SQL Dinâmico: "EXEC()" ou "sp_execute";

    - Procure utilizar mais variáveis/parâmetros numéricos (int, decimal, numeric, ...);

    - Sempre que possível, finalize sua execução com ";" 

    - Em variáveis/parâmetros do tipo string, crie verificação para evitar a inclusão de comentários: "--" ou "/**/"

    - Em variáveis/parâmetros do tipo string, crie verificação para evitar a inclusão de palavras reservadas: "AND", "OR" e outras

    - Em variáveis/parâmetros do tipo string, crie verificação para evitar a inclusão de aspas simples: '

    - Utilize permissões de acesso adequadas para o usuário da aplicação, como apenas: "SELECT", "UPDATE", "INSERT", "DELETE" e "EXECUTE" (e outras que definir necessárias)

    Com estes tratamentos, você vai minimizar muito vários tipos de SQL Injection.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Marcado como Resposta Getulio Torres S terça-feira, 22 de abril de 2014 12:57
    quinta-feira, 17 de abril de 2014 18:15