Reino: Environment
Esta seção contém tudo o que fica fora do código-fonte, porém que é essencial para a segurança do produto que está sendo criado. Como os problemas tratados neste domínio não são diretamente relacionados com o código-fonte, nós o separamos dos demais domínios.
DNS Spoofing
Abstract
Permitir o controle externo das configurações de DNS pode levar à interrupção do serviço ou a um comportamento inesperado do aplicativo.
Explanation
A falsificação de DNS, também conhecida como envenenamento de chache DNS, é um tipo de ataque no qual um invasor corrompe o cache do resolvedor DNS, fazendo com que ele retorne endereços IP incorretos. Usando a falsificação de DNS, um invasor pode redirecionar usuários para sites mal-intencionados sem o seu conhecimento. No contexto do JavaScript do lado do servidor usando Node.js, o manuseio inadequado das configurações do servidor DNS pode levar a vulnerabilidades de segurança.
Exemplo 1: Considere um cenário em que um aplicativo Node.js permite que os usuários especifiquem servidores DNS personalizados. Se essa entrada não for devidamente validada e higienizada, um invasor poderá fornecer servidores DNS mal-intencionados e implementar ataques de falsificação de DNS.
Neste exemplo, a variável
Exemplo 1: Considere um cenário em que um aplicativo Node.js permite que os usuários especifiquem servidores DNS personalizados. Se essa entrada não for devidamente validada e higienizada, um invasor poderá fornecer servidores DNS mal-intencionados e implementar ataques de falsificação de DNS.
const dns = require('dns');
// User-controlled input for DNS servers
const customDnsServers = from_user_controlled_input;
// Set custom DNS servers
dns.setServers(customDnsServers);
Neste exemplo, a variável
customDnsServers
recebe um valor derivado da entrada controlada pelo usuário. Em seguida, essa entrada é usada para configurar os servidores DNS usando dns.setServers(customDnsServers)
. Se um invasor fornecer endereços de servidores DNS mal-intencionados, ele poderá direcionar o aplicativo para resolver nomes de domínio usando seus servidores, o que pode retornar endereços IP falsos.desc.dataflow.javascript.dns_spoofing