🔐 Desafio #02: O Cofre Transparente (Hashing)
Nível: Médio Tópico: Criptografia de Credenciais
Olá, Auditores! No desafio anterior, protegemos a porta de entrada. Hoje, vamos proteger o que está dentro do cofre. Analisem o sistema de cadastro abaixo que armazena senhas em texto puro:
🚩 A Vulnerabilidade: Se a tabela 'usuarios' for vazada, todas as senhas estarão expostas. Seu objetivo é implementar Salt e Hashing.
Código-Fonte Sob Auditoria:
import sqlite3
# FUNÇÃO VULNERÁVEL - NÃO COPIE PARA PRODUÇÃO!
def salvar_senha_no_banco(login, senha_aberta):
conn = sqlite3.connect('seguranca_bd.db')
cursor = conn.cursor()
# ERRO GRAVE: Senha sendo salva sem tratamento
query = "INSERT INTO usuarios (usuario, senha) VALUES (?, ?)"
cursor.execute(query, (login, senha_aberta))
conn.commit()
print("Usuário cadastrado com sucesso (e senha exposta!)")
# Exemplo: salvar_senha_no_banco('admin', '123456')
Missão do Auditor:
- Identifique por que salvar senhas assim viola as normas de conformidade.
- Reescreva a função usando a biblioteca
bcryptouhashlib. - Explique o papel do SALT no processo de hashing.
Dica: A senha de acesso ao formulário será passada no final da aula síncrona.
Nenhum comentário:
Postar um comentário