Pessoal Bom dia, hoje iremos falar sobre inclusão de arquivos não permitida, começaremos mostrando um código vulnerável:
Observe o seguinte exemplo:
<?php
$acao = $_GET['acao'].'php';
/*
considere que a váriavel $acao, será usada para receber, o nome da página que será chamada por meio de um include.
*/
include("$acao");
?>
como exemplo o nome da página que passa o parâmetro será:
www.teste.com.br/?acao=pagina
O ataque:
se modificassemos o valor da váriavel acao, e alterassemos o valor para ../../../../../../etc/passwd, a váriavel receberia esse valor, e seria incluido o arquivo password do linux.
Se alguém conseguir enviar algum arquivo, para o servidor, e consegui executar esse ataque, com certeza o programador terá problemas.
Como se proteger:
Existem várias formas de se proteger, uma telas é tirar os caracteres que podem representar perigo.
Exemplo:
str_replace(Array('.','/','\','%','0'),'',$acao);
Nenhum comentário:
Postar um comentário