image

Accede a bootcamps ilimitados y a más de 650 cursos para siempre

60
%OFF
Article image
Marcelo Nascimento
Marcelo Nascimento08/10/2025 23:57
Compartir

Seu código está sanitizado?

    Código não sanitizado aceita, processa ou insere dados vindos de fontes não confiáveis, como usuários, APIs, arquivos ou headers sem limpar, validar ou codificar essas entradas. Esse descuido pode abrir portas para ataques como SQL Injection, XSS e Command Injection, que podem expor, corromper ou destruir dados e serviços.

    Qualquer entrada não verificada pode se transformar em um vetor de ataque. Imagine variáveis de configuração expostas ou mutáveis em tempo de execução por exemplo:

    public class ConexaoBanco {
            public static String url = "jdbc:mysql://localhost:3306/banco";
            public static String usuario = "admin";
            public static String senha = "1234";
             public static ConexaoBanco () throws SQLException {
                       return DriverManager.getConnection(url, usuario, senha);
     }
    }
    

    Em qualquer parte do código pode alterar o valor da variável:

    ConexaoBanco.senha = "CódigoMalicioso";
    

    Além de permitir alterações indevidas, dados sensíveis podem acabar em logs ou em respostas ao cliente — uma receita para vazamento de credenciais.


    Boas práticas rápidas para reduzir o risco:

    1. Use prepared statements ou ORM, associando os valores das variáveis diretamente aos parâmetros da query (binding), para evitar SQL Injection.
    2.  Valide por allowlist (aceite apenas formatos esperados) e limite tamanho/complexidade.
    3. Escape/encode a saída conforme o contexto (HTML, URL, JS, CSS).
    4. Nunca armazene credenciais escritos diretamente no código-fonte – hardcoded.
    5.  use variáveis de ambiente ou um cofre de segredos.
    6. Conceda privilégios mínimos a contas e serviços.
    7. Faça testes regulares: SAST, DAST, fuzzing (enviar grandes quantidades de entradas) e pentests.

    Código não sanitizado é uma das causas mais comuns de vulnerabilidades críticas e muitas vezes fáceis de evitar com regras simples de validação, parametrização e tratamento contextual da saída. Investir em práticas de input validation e em um pipeline de testes de segurança é economizar tempo, reputação e dinheiro no futuro.

    E você, na sua equipe: qual a principal defesa que adotaram contra entrada maliciosa? Compartilha nos comentários — vamos trocar técnicas práticas. 🔒💬


    Compartir
    Recomendado para ti
    Luizalabs - Back-end com Python
    PcD Tech Bradesco - Java & QA Developer
    Nexa - Fundamentos de IA Generativa com Bedrock
    Comentarios (0)