2010-04-15 3 views
0

Модератор форума, который я сам сделал. Я все еще не могу поверить в это, и я не могу понять, как он это сделал. Может ли кто-нибудь объяснить мне? Он сказал, что использовал только HTTP-запросы GETКак я могу получить источник 777-CHMOD php-файла?

Модератор сказал, что сервер (nginx) обычно отправляет выходные данные из исполняемых php-файлов, но поскольку файлы 777 добавляют некоторые параметры в URL-адрес, он может получить нерассмотренной версии.

Благодаря

+3

Вы имеете в виду, что он изменил права доступа к файлу? Ну, звучит так, как будто он угнал инструкцию exec() или system() на доске. Но трудно сказать, не зная, что он сделал, и о том, что мы говорим на борту. – Bobby

+0

Я видел неправильно сконфигурированные экземпляры Apache, где .php-файлы запускали диалоговое окно открытия/сохранения в браузере - Apache не отправляет эти файлы в парсер PHP. Это то, что вы имеете в виду? –

+0

Модератор сказал, что сервер (nginx) обычно отправляет вывод исполняемых php-файлов, но так как файлы 777 добавляют некоторые параметры в URL-адрес, он может получить нерассмотренную версию. Спасибо. – cedivad

ответ

3

Если есть плохо написанный сценарий загрузки на сайте, то это так же просто, как переписывание URL, чтобы загрузить любой файл (в том числе исходных PHP-файлов). Это может быть именно то, что он сделал, поэтому вам лучше проверить, не используются ли на форуме программы (и установленные сторонние модули) какие-либо известные уязвимости.

+0

Проблема в том, что мода заявила, что он не использовал какой-либо скрипт bugged/explotsble php ... – cedivad

0

Правильно сконфигурированный сервер будет выполнять только файлы .php, а не раскрывать их источник. Но плохо сконфигурированный сервер МОЖЕТ обслуживать источник PHP через символическую ссылку .phps, указывающую на исходный файл.

Кроме того, параметры запроса не может сказать PHP обслуживать до источника, если источник в вопросе не имеет лазейку в нем, что-то вроде:

if (isset($_REQUEST['gimme_the_codez'])) { 
    readfile($_SERVER['SCRIPT_FILENAME']); 
    exit(); 
} 

Конечно, так как режим файла в 777, если вы может попасть в каталог, в котором он находится, вы можете получить файл напрямую или пощекотать в бэкдоре тривиально.

+0

Можете ли вы объяснить это лучше? ------- Конечно, поскольку режим файла 777, если вы можете попасть в каталог, в котором он находится, вы можете получить файл напрямую или пощекотать в бэкдоре тривиально. ------- – cedivad

+0

Если у вас есть доступ к серверу на сервер или, по крайней мере, какой-то способ выполнения произвольной программы на сервере, файл режима 777 можно отбросить, так как он универсально доступен. –

+0

Да, но теоретически у вас его не должно быть ... – cedivad

Смежные вопросы