A segurança
lógica em uma aplicação web é indispensável, mesmo conectado em uma rede
mundial, os dados devem estar íntegros garantindo sua confidencialidade,
conforme descreve Figueiredo (1999 p. 1):
Com
o rápido crescimento da web e com a diversificação de sua utilização, a
segurança se tornou um ponto de importância crucial, principalmente para quem
tem a web como um dos principais apêlos comerciais.
Utilizando métodos de criptografia de senhas, tratamentos de dados
de formulários e verificações de existência de sessão, contribuem para que o
aplicativo se torne confiável.
O método Message Digest (MD)
utiliza um algoritmo hash para criar
uma síntese de tamanho fixo, com base em um valor de tamanho máximo de duzentos
e cinqüenta e cinco caracteres. A função denominada MD5, produz um valor de 120
bits de tamanho, contendo uma string alfanumérica.
(FOROUZAN, 2004)
Este algoritmo é
unidirecional, ou seja, não é possível que o valor convertido seja transformado
novamente no texto de origem. A função MD5 pode ser utilizada para
gravar o resultado da operação com base em um valor de uma senha, ou seja,
codificá-la. Deste modo a informação será preservada, pois não será armazenado
seu valor oficial. Usuários que possuem acesso ao banco de dados não conseguem
visualizar a senha real. A sintaxe utilizada para a criptografia MD5 no PHP é
muito simples, só é necessário realizar a função “md5()”, e informar a variável
a ser calculada. Para certificar se a senha esta correta no momento do acesso é
feito novamente a codificação e o resultado é comparado com o existente no
banco de dados.
A injeção de SQL é um dos métodos
utilizados para invasão em aplicativos web,
onde o acesso é limitado por inserção de senhas. A maioria das aplicações
utiliza banco de dados, onde são enviados sintaxes pelo script do servidor, a qual recebe seus parâmetros da linguagem
HTML.
Segundo Santos (2008 p.133):
Falhas de injeção acontecem
quando os dados que o usuário dá de entrada são enviados como parte de um
comando ou consulta. Os atacantes confundem o interpretador para o mesmo
executar comandos manipulados enviado dados modificados. As falhas de injeção
habilitam o atacante a criar, ler, atualizar ou apagar arbitrariamente qualquer
dado disponível para a aplicação.
As variáveis enviadas pelo
formulário do HTML ao servidor, para tratamento em uma consulta ao banco de
dados, representam um risco em manipulação de um comando, para que a resposta
seja afirmativa de qualquer maneira, concedendo acessos indevidos, visualização
de informações ou exclusão de dados.
O tratamento em funções específicas
no script PHP, para detectar conteúdo em dados recebidos pelo cliente soluciona
grande parte dos problemas de injeção de SQL. É importante a validação de dados
recebidos, antes que sejam enviados para uma sintaxe do banco de dados.
Nenhum comentário:
Postar um comentário