SóProvas


ID
1493446
Banca
FCC
Órgão
TRE-RR
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Considere o texto abaixo.

A melhor forma para descobrir se uma aplicação está vulnerável a este tipo de ataque é verificar se todos os usos dos interpretadores separam claramente os dados não confiáveis do comando ou consulta. Para chamadas em linguagem estruturada de consulta, isso significa utilizar variáveis de ligação em todas as instruções preparadas e procedimentos armazenados, e evitar consultas dinâmicas.

O tipo de ataque citado no texto é conhecido como

Alternativas
Comentários
  • SQL Injection ocorre por falta de tratamento de entradas possibilitando a um atacante enviar dados não confiáveis para um interpretador, geralmente são encontradas em consultas SQL, LDAP, comandos do sistema operacional etc. Para tentar proteger a aplicação os interpretadores devem identificar e restringir dados não confiáveis dos comandos e consultas e evitar consultas dinâmicas.

  • O texto da questão foi retirado integralmente daqui : https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/owasptop10/OWASP_Top_10_-_2013_Brazilian_Portuguese.pdf

  • Gabarito C

    O SQL Injection é o nome dado a uma falha na codificação de uma aplicação qualquer (seja web ou local) que possibilita, por meio de um input qualquer, a manipulação de uma consulta SQL. Essa manipulação é chamada Injeção, então, o termo Injeção SQL. Resumindo: o SQL Injection é uma técnica de ataque baseada na manipulação do código SQL, que é a linguagem utilizada para troca de informações entre aplicativos e bancos de dados relacionais.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Letra C

     

    Olhe abaixo a mesma questão da banca, mas por um olhar invertido:

     

    Ano: 2017
    Banca: FCC
    Órgão: DPE-RS
    Prova: Analista - Segurança da Informação

     

    Nas aplicações web, as falhas de SQL Injection são introduzidas quando os desenvolvedores de software criam consultas dinâmicas a banco de dados que incluem entrada fornecida pelo usuário. Técnicas eficazes para evitar vulnerabilidades SQL Injection em aplicações web incluem o uso de
    a) tokens imprevisíveis em cada requisição de usuário.
    b) referência direta a objetos por usuário ou sessão.
    c) buffer procedures e stack SQL statements.
    d) direct statements, design patterns e frameworks.
    e) prepared statements e stored procedures.  (instruções preparadas e procedimentos armazenados)
    Letra e.

     

  • LETRA C

    O último período é fundamental para resolvermos a questão

    Para chamadas em linguagem estruturada de consulta, isso significa utilizar variáveis de ligação em todas as instruções preparadas e procedimentos armazenados, e evitar consultas dinâmicas. 

    linguagem estruturada de consulta = Structured Query Language = SQL

    instruções preparadas = Prepare Statement - Tratar a consulta

    procedimentos armazenados = Storage Procedure - Ajudam a manter a integridade

    evitar consultas dinâmicas = Usar os binds Values ou Params - Vinculam as Variáveis de Ligação a um valor

  • Ao citar a separação entre dados não confiáveis e o comando da consulta, a utilização de variáveis de ligação em instruções preparadas e procedimentos armazenados e que se evite consultas dinâmicas, o texto está descrevendo maneiras de proteção aos ataques de SQL injection.

    Gabarito: E