Comment fixé une faille include local ?
Résolu
MonkeyBlue
-
h1fra Messages postés 31 Statut Membre -
h1fra Messages postés 31 Statut Membre -
Bonjour, voici mon code:
le problème c'est que j'ai réussi a remonté dans mon serveur
p=../../../../../../../../boot.ini%00
j'ai cherché sur internet mais je comprend pas comment supprimé cette vulnérabilité
et ce que quelqu'un qui si connais en faille pourrais me corrigé mon code et m'expliqué ?
<?php
if(isset($_GET['p']))
{
$aInclure = htmlentities ($_GET['p']);
if(file_exists('st/'.$aInclure.'.php'))
include('st/'.$aInclure.'.php');
else
include('accueil.php');
}
else include('accueil.php');
?>
le problème c'est que j'ai réussi a remonté dans mon serveur
p=../../../../../../../../boot.ini%00
j'ai cherché sur internet mais je comprend pas comment supprimé cette vulnérabilité
et ce que quelqu'un qui si connais en faille pourrais me corrigé mon code et m'expliqué ?
A voir également:
- Comment fixé une faille include local ?
- Appdata local - Guide
- Ip local - Guide
- Local send - Télécharger - Divers Utilitaires
- Comment connecter un ordinateur fixe en wifi sans fil - Guide
- Changer pile bios pc fixe - Guide
2 réponses
Personellement j'utilise une petite fonction pour nettoyer mes variables $_GET :
Elle enlève tout ce qui n'est pas lettre et chiffre, donc plus de problème de ce genre !
function CleanVar($var){
$var = trim($var);
$RemoveChars = array( "([\40])" , "([^a-zA-Z0-9-])", "(-{2,})" );
$ReplaceWith = array("-", "", "-");
return preg_replace($RemoveChars, $ReplaceWith, $var);
}
$page = CleanFileName($_GET['p']);
Elle enlève tout ce qui n'est pas lettre et chiffre, donc plus de problème de ce genre !
MonkeyBlue
Oua merci beaucoup h1fra