dotdotslash

Turpinājums par ../ tēmu un php. Šoreiz varēsiet paši padomāt. Tālāk divi piemēri.

Teiksim ir kaut kāds linux serveris uz kura griežas lapa. Pieņemsim, ka caurā lapa ir "/www/secure/blog/index.php". Uzdevums ir inklūdot "/www/secure/puff.php". Abi zemāk redzamie kodi ir līki. Kādus parametrus vajag index.php, lai inklūdotos puff.php?

 

kods 1:

$url = str_replace("../","",$_GET['url']);
$hfile = fopen("/www/secure/blog/$url", "r");
if(!$hfile){
echo "Nivar atveert failu!";
exit;
}
while (!feof($hfile)){
$line = fgets ($hfile, 1024);
echo $line;
}

kods 2:

if((strpos($_GET['url'],"../") === false)
AND (strpos($_GET['url'],"://") === false))){

$hfile = fopen("$url", "r");
if(!$hfile){
echo "Nivar atveert failu!";
exit;
}
while (!feof($hfile)){
$line = fgets ($hfile, 1024);
echo $line;
}
}

Pievienot komentāru