Projetos Lucas Peperaio Códigos e Aplicativos úteis para a Internet

Função PHP para impedir a vulnerabilidade Path Traversal

Path Traversal é uma vulnerabilidade Web pouca conhecida, onde o invasor aproveita-se de falhas nos códigos para navegar nas pastas anteriores ou baixar scripts indevidamente.
Essa falha ocorre especialmente em sites que fazem includes ou downloads através de parâmetros passados pela URL, sem antes filtrar o conteúdo recebido.
O estrago pode ser enorme; o invasor pode baixar qualquer script do site, incluindo arquivos de configurações, senhas e etc.
Com esta função, o seu site estará protegido contra Path Traversal. Lembrando que, outras vulnerabilidades como SQL Injection, Blind SQL Injection, XSS e etc não são evitadas com essa função:

function prevent_path_traversal( $str ) {
        //@param $str string
	return preg_replace( "/(%2f|%3a|%5c|%2e%2e|%25|%20|%00|\/|\\|:|\.\.|%|\s)/i","", $str );
}

//exemplo
$variavel = $_GET['download']; //errado
$variavel = prevent_path_traversal( $_GET['download'] ); //certo
Pesquisas
© 2011 - 2012
Desenvolvido e Mantido por Lucas Peperaio