Codificação de saída
O que é Codificação de saída?
Codificação de saídaTransformação de dados não confiáveis em uma forma segura para um contexto de saída específico (HTML, JavaScript, URL, SQL, shell) para que não escapem e sejam executados como código.
A codificação de saída (ou escape) é o principal controle contra vulnerabilidades de injeção que surgem quando dados são renderizados em outro interpretador. Cada contexto tem regras próprias: entidades HTML no corpo HTML, codificação de atributos para atributos HTML, escapes Unicode de JavaScript para literais JS, percent-encoding em URLs e APIs parametrizadas para SQL ou shells. A codificação deve ser aplicada exatamente no ponto em que os dados cruzam a fronteira de confiança para o interpretador, com o codificador correspondente. Combinada à validação de entrada e às consultas parametrizadas, é uma contramedida central contra XSS, injeção HTML, injeção de comandos e injeção CSV.
● Exemplos
- 01
Codificar entidades HTML em comentários de usuário antes de renderizá-los para impedir XSS refletido.
- 02
Codificar em JavaScript valores inseridos em literais de string JS dentro de templates renderizados no servidor.
● Perguntas frequentes
O que é Codificação de saída?
Transformação de dados não confiáveis em uma forma segura para um contexto de saída específico (HTML, JavaScript, URL, SQL, shell) para que não escapem e sejam executados como código. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa Codificação de saída?
Transformação de dados não confiáveis em uma forma segura para um contexto de saída específico (HTML, JavaScript, URL, SQL, shell) para que não escapem e sejam executados como código.
Como se defender contra Codificação de saída?
As defesas contra Codificação de saída costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Codificação de saída?
Nomes alternativos comuns: Escape de saída, Escape contextual.