O OWASP Top 10 aponta os principais riscos de segurança encontrados em aplicações Web durante um período específico. Na publicação OWASP – 2021, a categoria de risco de injeção aparece na terceira posição do ranking, depois de vários anos na primeira posição. Mesmo assim, por causa das suas consequências nocivas para o sistema de informação, ainda é considerado um risco bastante pertinente para os dias atuais. De acordo com OWASP – 2021, “94% dos aplicativos foram testados para alguma forma de injeção, e os 33 CWEs mapeados para esta categoria têm a segunda maior ocorrência em aplicativos”.
Para minimizar os riscos de segurança da categoria de injeção, é importante adotar boas práticas de desenvolvimento de software seguro. Dentre essas práticas, é importante usar ferramentas de análise de código-fonte que possam detectar falhas de segurança antes da implantação do sistema no ambiente de produção.
Durante uma bateria de testes realizada no código-fonte de um script escrito em linguagem Python, a função check_user_auth(conn, username, password) foi classificada como vulnerável ao ataque de injeção SQL. Essa função recebe como argumentos um handle de comunicação com o banco de dados (conn), um nome de usuário (username) e uma senha pessoal (password). Sabe-se que os argumentos são previamente sanitizados, o que assegura que conn sempre é válido e que username e password são strings formadas por letras maiúsculas e minúsculas, dígitos numéricos, espaço em branco e caracteres de símbolos presentes na tabela ASCII.
import mysql.connector
def check_user_auth(conn, username, password):
cursor = conn.cursor()
sql_query = “””SELECT * FROM users WHERE “””\
“””username = ‘%s’ AND password = ‘%s'”””%(username,password)
cursor.execute(sql_query)
user_reg = cursor.fetchall()
if not user_reg:
Auth_Boolean = False
else:
Auth_Boolean = True
return Auth_Boolean
Com relação ao risco de segurança detectado na função check_user_auth(conn, username, password),
a) explique por que um adversário consegue explorar a vulnerabilidade de injeção SQL nessa função quando fornece o valor ‘ OR ‘1’=’1 para ambos os argumentos username e password.
b) explique as alterações que devem ser realizadas na atribuição da string sql_query e na chamada do método cursor.execute() para mitigar o ataque de injeção SQL realizado com a manipulação maliciosa dos argumentos username e password dessa função.
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
Ops! Esta questão ainda não tem resolução em texto.
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
Em 2018, o Banco Central do Brasil (BCB), órgão regulador e supervisor do sistema financeiro nacional, iniciou uma série de mudanças regulatórias que permitiram a abertura do mercado para as fintechs. Destacam-se duas recentes e impactantes mudanças no setor, que incluíam o PIX, um novo meio de pagamento no mercado financeiro nacional, que permite transferências bancárias instantâneas a qualquer hora do dia, inclusive aos finais de semana. A entrada desse sistema de pagamentos reduziu significativamente os custos de transferências bancárias quando comparado com o Transferência Eletrônica Disponível (TED) e Documento de Ordem de Crédito (DOC), fontes relevantes de receitas para as instituiçõe…
DinDin, assistente virtual do Banco X,
estreia no Twitter
Bot auxiliará o cidadão a obter informações e a acessar os serviços prestados pelo Banco X de forma mais simples e rápida.
Em setembro de 202x, o perfil do Twitter do Banco X passa a contar com o DinDin, seu assistente de inteligência artificial (chatbot). O DinDin vai ajudar os usuários a obter, de forma imediata e automática, diversas informações importantes para a vida financeira do usuário.
De acordo com o Diretor de Relações do Banco X, a instituição quer ampliar o acesso dos cidadãos ao rol de serviços oferecidos pelo Banco.
“Existem boas experiências com o uso de chatbots no Twitter. Então, levamos para lá os serviços mais soli…
A publicação Censo Escolar da Educação Básica 2022: notas estatísticas é um levantamento estatístico anual coordenado pela Diretoria de Estatísticas Educacionais do Inep/Ministério da Educação, em parceria com o sistema educacional brasileiro, a partir de declarações obrigatórias para todos os estabelecimentos públicos e privados. É um documento essencial para a análise e planejamento das políticas educacionais no Brasil.
Nesse documento, encontra-se o seguinte gráfico, que permite analisar a evolução das matrículas na educação infantil, segundo a rede de ensino, entre os anos de 2018 e 2022.

BRASIL. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira (Inep). Censo da Edu…



