

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Um aplicativo que armazene dados sensíveis criptografados em um banco de dados usando criptografia automática garante que esses dados, quando recuperados, estejam isentos de serem indevidamente capturados, mesmo que haja uma falha de injeção de SQL.
Certo
Errado
Descendo para a terceira posição do OWASP Top Ten:2021, a categoria de Injeção inclui Enumerações de Fraquezas Comuns (Common Weaknesses Enumeration - CWE) notáveis como: CWE-79: Cross-site Scripting; CWE-89: SQL Injection e CWE-73: External Control of File Name or Path.
Assinale a alternativa que NÃO apresenta uma forma de mitigar vulnerabilidades nessa categoria.
Usar validação de entrada positiva do lado do servidor.
Para quaisquer consultas dinâmicas residuais, utilizar a sintaxe de escape de caracteres especiais específica para o interpretador utilizado.
Desabilitar a listagem de diretórios do servidor web e garantir que metadados de arquivos (por exemplo, .git) e arquivos de backup não estejam presentes nas raízes da web.
Utilizar uma API segura, que evite usar o interpretador completamente, forneça uma interface parametrizada ou migre para Ferramentas de Mapeamento Objeto-Relacional (ORMs).
Durante o desenvolvimento de um sistema web, é necessário garantir que o software seja seguro e resistente a ataques. Para isso, utilizam-se as melhores práticas de desenvolvimento seguro baseadas em SDL, OWASP CLASP e sua evolução. Para proteger uma aplicação contra ataques de injeção SQL, é crucial
utilizar prepared statements com parameterized queries para interagir com o banco de dados, de forma que o banco de dados faça a distinção entre código e dados, independentemente da entrada fornecida pelo usuário.
remover todas as stored procedures do código, como recomendado pelo CLASP, pois estas são a principal fonte de ataque e deixam a aplicação vulnerável.
Implementar criptografia simétrica para todas as conexões com o banco de dados e criar filtros personalizados no código para identificar entradas maliciosas após a execução da consulta.
criar uma rotina que faça um backup automático dos logs antes de executar qualquer consulta SQL, garantindo que qualquer tentativa de injeção possa ser rastreada, conforme recomenda o CLASP.
utilizar funções eval () em JavaScript para processar dados do lado do cliente, garantindo que entradas SQL possam ser interpretadas de forma segura no servidor.
A segurança do banco de dados é uma área importante, que tenta resolver muitos problemas que variam desde questões legais e éticas até questões mais técnicas relacionadas às configurações e medidas de segurança lógica e física, como os níveis de sistema em que várias funções devem ser impostas para evitar ou mitigar ataques.
Em relação aos ataques mais frequentes em bancos de dados, avalie as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.
( )O ataque do tipo abuso de escalada de privilégios não autorizada é caracterizado por um atacante que tenta elevar seus privilégios e reduzir os dos usuários autorizados para atacar pontos vulneráveis nos sistemas de bancos de dados ou sequestrar dados.
( ) Em atagues de injeção de SQL, o atacante injeta uma de cadeia de caracteres através da aplicação, que muda ou manipula a instrução SQL para o proveito do atacante. Esse ataque pode prejudicar o banco de dados de várias maneiras, como por exemplo, na manipulação não autorizada do banco de dados ou na recuperação de dados confidenciais. Ele também pode ser usado para executar comandos em nível do sistema que podem fazer o sistema negar serviço à aplicação.
( ) Os ataques do tipo navegação oculta são tentativas de tornar recursos indisponíveis para usuários ilegítimos. Esta é uma categoria de ataques em que o acesso a aplicações ou dados da rede é negado aos usuários legítimos pela remoção de dados ou mudanças nas autorizações e privilégios de acesso ao banco de dados.
As afirmativas são, respectivamente,
V-V-F.
V-F-V.
F-V-V.
F-V-F.
F-F-V.
A segurança em aplicações web é essencial para proteger os dados dos sistemas e evitar acessos não autorizados.
Dentre as práticas de segurança em sistemas de informação, assinale a alternativa que apresenta CORRETAMENTE uma prática de segurança essencial para prevenir ataques de SQL Injection:
Restringir o acesso por IP.
Implementar criptografia SSL/TLS.
Utilizar senhas fortes para usuários.
Sanitizar entradas do usuário, utilizando-as em consultas parametrizadas.
OWASP Top 10 (ano base 2021) é um documento de conscientização voltado para desenvolvedores e para a segurança de aplicativos da Web. Ele representa um amplo consenso sobre os riscos de segurança mais críticos para aplicativos da Web. Um dos ataques descritos no documento é injeção de códigos maliciosos. Com relação às medidas de evitar esse tipo de ataque, analise as afirmativas a seguir.
l. A opção preferida é usar APIs seguras que evitam usar o interpretador de comandos, elas fornecem uma interface parametrizada ou migram para Object Graph Navigation Library (OGNL)
Il. Recomenda-se o uso da cláusula UNIQUE em consultas SQL para evitar a divulgação em massa de registros em caso de injeção de SQL.
Ill. Recomenda-se o uso de validação de entrada positiva do lado do servidor. Esta não é uma defesa completa, pois muitos aplicativos exigem caracteres especiais, como áreas de texto ou APIs para aplicativos móveis.
Está correto o que se afirma em
l e Il, apenas.
l e Ill, apenas.
Il e Ill, apenas.
III, apenas.
Il, apenas.
Um Tribunal identificou que sua aplicação web foi explorada por uma vulnerabilidade de injeção SQL. Após a análise do incidente, o time de desenvolvimento decidiu implementar práticas que minimizam o risco de ocorrência dessas falhas no código-fonte. A técnica mais adequada para prevenir vulnerabilidades como a identificada no incidente é
usar mecanismos de hashing para proteger os dados enviados às consultas SQL.
utilizar variáveis de ambiente para armazenar as credenciais de banco de dados e incluí-las diretamente nas consultas SQL.
usar concatenação de strings para gerar as consultas SQL.
utilizar parâmetros (prepared statements) para consultas SQL.
implementar análise estática de código após o deployment.
Após solicitação do usuário de uma empresa sobre a ocorrência de um incidente, o técnico de segundo nível identifica que a causa provável é uma falha na infraestrutura de banco de dados hospedado em nuvem, mantido por um provedor externo.
Assinale o próximo passo adequado.
Corrigir diretamente o banco via console local.
Solicitar ao usuário final que abra chamado com o provedor.
Alterar o registro DNS para outro servidor.
Escalonar para o responsável pelo contrato do provedor, anexando logs e evidências técnicas.
Reinstalar os softwares instalados no computador do usuário.
A principal maneira de se fazer a injeção SQL é a inserção de código no arquivo executável da aplicação, o qual será concatenado com comandos SQL e executado.
Certo
Errado
Considere o seguinte trecho de código em PHP:

Esse trecho de código apresenta uma falha de segurança muito comum, listada como a falha de segurança mais frequente pelo relatório OWASP Top 10 de 2017. Essa falha de segurança é conhecida como:
SQL Injection.
Session Hijacking.
Cross-Site Scripting (XSS).
Cross-Site Request Forgery (CSRF).
Segurança em aplicações web é uma preocupação essencial para proteger dados e garantir a integridade das informações. Sobre práticas de segurança em aplicações web, assinale a alternativa que apresenta CORRETAMENTE práticas que contribuem significativamente para mitigar ataques de injeção SQL em aplicações web:
Implementar políticas de senhas fortes para a autenticação de usuários.
Validar e sanitizar entradas de dados do usuário antes de incorporá-las em consultas ao banco.
Expor detalhes técnicos das mensagens de erro, incluindo as consultas SQL, para facilitar a correção de erros.
Armazenar senhas no banco de dados em texto claro para facilitar a recuperação em caso de esquecimento.
Na URL a seguir, o uso de -- indica o início de um comentário em SQL, de modo que o restante da consulta é ignorado.
http://prova.com/busca?username=admin'--
Certo
Errado
Em um ambiente de desenvolvimento de sistemas de e-commerce, a equipe de DevSecOps está realizando a revisão do código de uma aplicação web legada (Web Legacy) antes de sua migração para a nuvem. Durante essa análise, foram identificadas diversas vulnerabilidades que precisam ser tratadas para garantir a segurança e a conformidade do sistema. Em relação às vulnerabilidades da OWASP e às práticas seguras de desenvolvimento, analise as afirmativas abaixo e dê valores Verdadeiro (V) ou Falso (F).
( ) Um ataque de SQL Injection pode ser explorado mesmo que a aplicação utilize instruções SQL parametrizadas, desde que os parâmetros sejam construídos dinamicamente a partir de entradas não validadas.
( ) Cross-Site Request Forgery (CSRF) ocorre quando um atacante injeta scripts maliciosos em páginas web visualizadas por outros usuários, resultando na execução desses scripts no navegador da vítima.
( ) Vulnerabilidades de Broken Authentication e Session Management são frequentemente mitigadas pela implementação de limites de tentativas de login, mecanismos de captcha e renovação de IDs de sessão após login.
( ) A prática de DevSecOps integra ferramentas de segurança e testes automatizados (como SAST e DAST) nas etapas iniciais e contínuas do ciclo de desenvolvimento de software, não apenas na fase de testes finais.
Assinale a alternativa que apresenta a sequência correta de cima para baixo.
V - F - V - V
F - V - F - V
V - V - F - V
V - F - F - V
A respeito do ataque SQL Injection, considere o cenário fictício a seguir:
Um site permite que os usuários façam login fornecendo nome de usuário e senha. No entanto, o sistema não valida adequadamente as entradas do usuário antes de enviar uma consulta ao banco de dados.
Um invasor, em vez de fornecer um nome de usuário comum, insere o seguinte código no campo de login:

Com esse comando, o invasor manipula a consulta SQL, conseguindo acessar o sistema sem fornecer credenciais válidas.
Com base neste cenário, é CORRETO afirmar:
O ataque SQL Injection é utilizado para interceptar o tráfego de rede entre dois servidores.
O ataque SQL Injection pode ser prevenido apenas utilizando senhas fortes no banco de dados.
Utilizar SSL/TLS em uma aplicação web elimina completamente o risco de SQL Injection.
Uma das formas mais eficazes de prevenir SQL Injection é utilizando Prepared Statements (declarações preparadas) com parâmetros.
O ataque SQL Injection não pode ser realizado em bancos de dados que utilizam tabelas normalizadas.
SQL injection é uma técnica na qual um invasor insere comandos SQL maliciosos em uma consulta SQL por meio de campos de entrada de uma aplicação Web, com o objetivo de manipular o banco de dados para acessar, modificar ou excluir dados não autorizados. Sobre o ataque SQL Injection, trata-se de possível impacto desse tipo de ataque em uma aplicação Web:
Exposição de dados sensíveis.
Melhoria na experiência do usuário.
Perda de conectividade com o servidor.
Aumento da velocidade de carregamento da aplicação.
Um ataque do tipo SQL injection requer a existência de uma falha na aplicação relacionada com a sanitização de parâmetros, de modo que um hacker possa enviar comandos SQL para o banco de dados por meio da aplicação exposta.
Certo
Errado
A exploração de SQL injection pode ser bem-sucedida contra uma aplicação web vulnerável caso
o servidor não envie cabeçalhos ou diretivas de segurança, ou eles não estejam configurados para proteger os valores.
recursos desnecessários, por exemplo, portas, serviços ou privilégios, sejam ativados ou instalados no banco de dados.
não haja separação, em níveis, entre as camadas do sistema e as camadas de rede, sendo desconsideradas as necessidades de exposição e proteção.
dados hostis sejam usados nos parâmetros de pesquisa de mapeamento relacional de objeto para extrair registros adicionais.
limites para o consumo de recursos do sistema por usuários ou por serviços sejam mal configurados ou sequer estejam configurados.
O site OWASP top 10 classifica os maiores riscos no desenvolvimento de aplicações. Na versão atual de seu relatório, o risco de segurança conhecido como Injection (ou injeção) aparece na terceira posição. Essa categoria inclui vulnerabilidades como Cross site scripting e SQL Injection.
(https://owasp.org/Top10/A03_2021-Injection/ acessado em 13/10/2024).
Já o Security Development Lifecycle (SDL) preconiza que os riscos podem ocorrer em todas as etapas do desenvolvimento, recomendando 10 práticas de segurança para serem incluídas no fluxo de trabalho de desenvolvimento.
Um desenvolvedor, utilizando o SDL, analisou a arquitetura de sua aplicação e percebeu que ela estaria vulnerável a ataques do tipo Injection, recomendando como solução a sanitização de todas as entradas dos usuários.
Assinale a opção que indica a prática de segurança do SDL na qual se encaixa o procedimento realizado pelo desenvolvedor.
Realizar testes de segurança.
Fornecer treinamento de segurança.
Definir e usar padrões criptográficos.
Realizar revisão de projeto de segurança e modelagem de ameaças.
Exigir o uso de recursos, linguagens e estruturas de segurança comprovadas.
A técnica de ataque SQL Injection tem como modo de operação a
manipulação direta, por parte do atacante, de comandos executados em bases de dados em um servidor.
gravação de arquivos corrompidos em um servidor FTP.
negação de acesso a uma base de dados por causa de um volume muito grande de requisições.
execução de programa malicioso inserido em código binário legítimo.
completa encriptação de um banco de dados com uma chave produzida pelo atacante.
O ataque cibernético que realiza a injeção de script malicioso em uma entrada desprotegida ou não validada pela aplicação em um site vulnerável, a fim de permitir que o atacante viabilize o retorno e execução do script malicioso no navegador da vítima, quando ela estiver acessando o site vulnerável, é conhecido como:
PHP Object Injection.
Cross-site Scripting.
SQL Injection.
Cross-site Request Forgery.