
Każdy z nas, kto choć troche dba o bezpieczeństwo swoich skryptów wie
co może spowodować kod w stylu:
<?php $dzial = $_GET['dzial']; include($dzial); ?>
Gdzieś kiedyś na Bugtraqu opublikowano, że php posiada podobny błąd jak i
perl. Tzn. dodając %00 do końca URLa możemy "obciąć" rozszerzenie includowanego pliku. Przykład:
<?php $dzial = $_GET['dzial']; include(\"$dzial.php\"); ?>
http://site.com/?dzial=/etc/passwd%00
Testowałem to na wieelu serwerach. Wszędzie wyskakuje error:
" Nie można znaleśc pliku blablabla /etc/passwd\0.php "
Wyszedłem więc z założenia, że ten błąd to jakiś kicz i poprostu nie działa

Ale... do dzisiaj.
Dziś na jednym serwerze zauważyłem że to działą i to bardzo dobrze :/
Czy ktoś wie od czego to zależy itd ? Czemu działa to tylko na 1% serwerów?
Zawsze sądziłem, że ten "standardowy" błąd Perla, nie dotyczy php :/