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
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 …
Nome varchar(255),
Sobrenome varchar(255),
Endereco varchar(255),
Cidade varchar(255) );
NomeProduto varchar(255),
PrecoProduto number)
PessoaId number,
Quantidade number)
Brasil é o terceiro maior consumidor de redes sociais
em todo o mundo
O estudo mostra que esses canais são a preferência dos brasileiros frente a outras categorias online, elevando o país à terceira posição entre as nações que mais consomem redes sociais em todo o mundo – atrás de Índia e Indonésia, e à frente de Estados Unidos, México e Argentina.
A análise “Tendências de Social Media 2023” mostra que os 131,5 milhões de usuários conectados no Brasil têm passado cada vez mais tempo na internet, em especial nessas plataformas. A categoria foi a mais consumida em dezembro de 2022, somando 356 bilhões de minutos, o que equivale a 46 horas de conexão por usuário no mês, e representa um aumento…



