Posts com a tag: Secure by Design
Esta tag lista a série do mais recente para o mais antigo. Para o roteiro completo — 36 posts em 12 séries, na ordem de leitura, mapeados ao OWASP e ao CySA+ — veja a página inicial do Secure by Design.
← Ver todos os posts
MFA no Django: por que o @login_required não enxerga um segundo fator, como um caminho que o pula desfaz tudo e o que o otp_required corrige. OWASP A07.
Leia mais →
Falhas de redefinição de senha no Django: tokens que não expiram nem se aposentam, envenenamento de host e a chamada que resolve três. OWASP A07.
Leia mais →
Senhas fracas no Django: por que os quatro validadores padrão aceitam Password123!, o que a NIST 800-63B-4 agora proíbe, e como checar vazamentos. OWASP A07.
Leia mais →
Sequestro e fixação de sessão no Django: por que login() rotaciona a chave, um fluxo feito à mão desfaz isso e as flags de cookie. OWASP A07.
Leia mais →
Força bruta no Django: por que o auth nunca limita logins, como django-axes e rate limiting fecham a lacuna e por que limites por IP falham. OWASP A07.
Leia mais →
Mass assignment no Django: como fields='__all__' deixa atacantes gravar campos como status ou dono, e como listas explícitas impedem. OWASP A08.
Leia mais →
Path traversal no Django: como os.path.join permite escapar do MEDIA_ROOT, por que safe_join impede e quando FileField elimina o risco. OWASP A01.
Leia mais →
CSRF no Django: como formulários ocultos usam o cookie de sessão da vítima, por que @csrf_exempt é perigoso e como o CsrfViewMiddleware impede. OWASP A01.
Leia mais →
Escalação de privilégios no Django: como fields='__all__' expõe is_staff e is_superuser, e como listas explícitas de campos impedem. OWASP A01.
Leia mais →
IDOR no Django: como trocar um ID na URL vaza dados de outro usuário, por que login_required não é autorização e como escopar querysets. OWASP A01.
Leia mais →