Back-End

28 jul, 2008

Firebug, campos ocultos e a segurança de seus aplicativos

Publicidade

Olá pessoal. Antes de iniciarmos com este artigo, considere realizar sua inscrição para o iMasters interCon 2008. Tenho certeza que você não ficará de fora dessa.

Firebug – para aqueles que ainda não o conhecem – é um add-on para o Firefox. Não consigo me imaginar desenvolvendo para a web sem uma ferramenta como esta. Mas cuidado, ela causa dependência. Afirmo isto por ser um desenvolvedor que se encontra nesse estágio.

O site do Firebug anuncia seu slogan: Web Development Evolved (Desenvolvimento web evoluído). Não é por menos. Com o Firebug você pode editar, depurar e monitorar CSS, HTML e JavaScript da página em exibição. E o melhor de tudo que isso ocorre de forma “live”.

Ainda há diversos outros recursos nativos no Firebug e outros adicionais que podem ser incluídos através de extensões. As possibilidades são diversas. Considere conhecê-las e simplificar seu dia-a-dia como desenvolvedor.

Campos ocultos em formulários HTML são utilizados de forma corriqueira. Através desse tipo de campo armazenamos informações relevantes para que um aplicativo web tome decisões cruciais e importantes. Como exemplo, podemos citar o ID (código de identificação armazenado no banco de dados) de um usuário logado, o preço de um produto, entre inúmeras outras possibilidades.

Alguns desenvolvedores não se atentam com aspectos de segurança por motivos de conhecimento, preguiça ou descomprometido com o projeto. Cito preguiça por que fechar brechas dá trabalho e nem todos estão dispostos a ele. Ou então, por que o contratante não está disposto a investir numa equipe de qualidade e responsável.

Voltando aos campos ocultos que armazenam importantes informações como o ID de registros ou até mesmo preço de mercadorias em sites de comércio eletrônico. Preciso informar-lhe que eles podem ser alterados facilmente. E o resultado pode ser desastroso causando prejuízos financeiros, de reputação e confiança.

Editar campos ocultos com o Firebug é extremamente simples e prático. Mas não imagine que ele pode ser um vilão por que não é. O vilão nessa história é o desenvolvedor descompromissado. Por que além do Firebug, é possível alterar o valor de um campo com um simples código JavaScript executado na barra de endereço do navegador. Exemplos:

javascript:void(document.getElementsByTagName(`input`)[7].value = 007);

javascript:void(document.getElementsById(`product_price`).value = `0.01`);

NOTA: Os códigos acima foram demonstrados a fim de estudos. Somente. Não estou incentivando a prática de ataques ou injeções de códigos JavaScript em aplicativos web. A intenção é te alertar sobre o assunto para que você se previna.

Espero que, com este artigo, você possa refletir sobre o assunto e dar mais atenção à segurança dos dados envolvidos no aplicativo web de sua responsabilidade.

No próximo artigo trarei uma abordagem mais prática expondo uma situação onde os dados ficam seriamente comprometidos e como evitar esse tipo de ataque. Um abraço a todos.