Plugin Web Developer do Firefox e Segurança

7 respostas
R

Pessoal,

Uso o pugin web developer do firefox há um bom tempo mas só agora percebi que ele tem algumas funcionalidades que prejudicam a segurança dos sistemas web.

Com ele, entre outra coisas, podemos fazer com que campos do tipo password (que exibem ******) sejam convertidos pra tipo text, podemos habilitar campos marcados com disabled=“disabled” e ainda podemos exibir todas as informações do formulário, onde inclusive todos os campos hidden são exibidos e, o que é pior, podem ser editados.

Gostaria de saber, especialmente pra o caso dos campos hidden poderem ser editados, qual a solução que vocês indicam pra não permitir que uma pessoa utilizando tal plugin edite um campo hidden

  1. já tentei colocar readonly=“readonly” (por mais estranho que pareça ter um campo hidden e readonly), mas a função de “habilitar campos” do plugin o torna editável.
  2. pensei em não colocar o valor em um campo hidden e, ao invés disso, colocá-lo em uma variável javascript e quando eu quiser enviar o formulário, através de DHTML eu montaria o campo hidden e enviaria o valor (mas não sei se essa é a única ou a melhor opção, portanto gostaria da opinião de vocês).

[]'s

7 Respostas

T

Deixe de ser paranóico (ou como disse nossa querida ministra, “relaxe e goze”.) O Web Developer tem a opção “View Generated Source”, entre outras. Então por mais que você tente fechar os buracos, vai acabar sobrando algum.

R

Se sempre vai sobrar algum, gostaria de encontrar uma solução que possibilite pelo menos que sobre o buraco mais difícil de entrar.

E a idéia de montar o campo por DHTML é apenas na hora de enviar o formulário… O campo não seria gerado até então.

T

Bom, o Web Developer tem também um Javascript debugger, se não me engano. Então mesmo isso (montar os dados via Javascript) dá para enganar.

R

Tendo em um campo hidden

O malandro vai pelo Web Developer, exibe os dados do formulário e facilmente troca o valor digitando o valor que ele quiser.

Se eu montasse esse campo e passasse o valor tudo por javascript como ele faria pra trocar o valor?

rafagil

Bem, o mais correto (na minha opinião), é fazer validação dos dados sempre no servidor, e deixar o mínimo possível no cliente. Deixe seus campos editáveis, porém valide-os a cada request.

T

Agora estou imaginando - só vale a pena ter campos hidden que você não possa modificar sem provocar algum erro capturável na sua aplicação. Por exemplo: podem estar cifrados, com o vetor de inicialização dependendo do número da requisição da página.

R

Vale a pena ter campos hidden quando não houver envolvidos requisitos de segurança quanto à possibilidade de mudar seus valores e que não justifiquem esforços adicionais para serem alcançados.

Criado 6 de julho de 2007
Ultima resposta 6 de jul. de 2007
Respostas 7
Participantes 3