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 →
XXE no Django: entidades externas leem arquivos e alcançam o endpoint de metadados, o Billion Laughs exaure a memória e defusedxml corrige. OWASP A02.
Leia mais →
Injeção de Comandos OS no Django: como shell=True vira RCE e por que shell=False com lista de argumentos impede. OWASP A05, CVE-2016-3714.
Leia mais →