Доброго времени суток, уважаемые! Есть код в скрипте PHP: $_a = $_GET['patch']; if(preg_match("/\.\w+$/", $_a) && !preg_match("/\.(php|php5|php4|xml|xsl|cgi|pl)$/", $_a) && !preg_match("/^\/web\//", $_a) && file_exists($_SERVER['DOCUMENT_ROOT'].$_a) ){скачиваем файл} При удовлетворении данной фильтрации, можем скачать файл. Как видно .php файлы скачать не удается. Это можно обойти? Всем благодарности.
jangle, Ваш код может быть эквивалентен следующему: PHP: $a = $_GET['patch']; if (file_exists($_SERVER['DOCUMENT_ROOT'].$_a) readfile("/web/$a.php"); // Подставить нужную функцию Соответственно вы можете попробовать применить все способы, что используются для вашей версии при LFI (в данном случае читалке). Ну и конечно нет проверки регистра, в Windows можно будет читать все файлы. Для полноценного исследования кода не хватает части чтения.
2jangle Регулярки регистрозависимые стоят. И да мля тока на Win робит... как уже XAMEHA подметил... p.s. но там стоят по любому никсы.... Код открытия файла скинь.