![]() |
null-byte в php
есть сайт на
PHP Version 5.2.4 register_globals=On allow_url_include=Off magic_quotes_gpc=Off и приблизительно с таким кодом ... if (!isset($a)) $a = '../'; ... include_once($a . 'dir/file.php'); ... Пытаюсь локальный инклуд провести, но не выходит: http://site.ru/123.php?$a=../ <= работает, страница нормально отображается http://site.ru/123.php?$a=../dir/file.php%00 <= нефига... =/ Я так понял в новых версиях пхп нельзя использовать нулл-байт, чтоб отрезать лишний путь? А может кто-нибудь сказать с каких версяий пыха эту багу закрыли? или я неправ и дело еще в чем-то? |
Я бы не сказал, что 0, для отсечения конца строки - это уязвимость =) В С++ тож используется и что.. Хоть там он и нужнее =) 0-терминант работает во всех версиях пхп, а может не сработать из-за настроек или установленных модов безопасности
|
Цитата:
Ну то, что он работает во всех версиях пхп, я уже понял. Но все равно, вопрос для меня остается актуальным. Только теперь я его переформулирую так: Какие моды, настройки пхп или веб сервера могут повлиять на возможность внедрить null-byte? |
2cr0w
magic_quotes_gpc=On (будет экранировать null-byte) |
Вместо http://site.ru/123.php?$a=../dir/file.php%00
пробуй http://site.ru/123.php?$a=../dir/file.php? |
код по подробней в ПМ можно?
|
При таком коде и настройках , всё будет работать , думаю ты что-то пропустил именно в коде
|
Цитата:
|
Цитата:
В коде я ничего существенного не упустил, более того, на моем локальном веб-сервере эта бага в коде прекрасно эксплуатируется. |
Цитата:
Что касается ModSecurity, не могу сказать точно про нулл байт, но помоему по дефолту он не фильтруется. В любом случае, если нужен ответ на вопрос, то код и линк упростят дело |
| Время: 13:23 |