The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Критическая уязвимость в PHP, проявляющаяся в CGI-режиме, opennews (??), 03-Май-12, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


58. "Критическая уязвимость в PHP, проявляющаяся в CGI-режиме"  +1 +/
Сообщение от Аноним (-), 04-Май-12, 12:44 
Я чего-то не понимаю? Почему нельзя во врапере вместо
#!/bin/sh
/usr/data/wrappers/php/5.3/bin/php-cgi $*

сделать просто

#!/bin/sh
/usr/data/wrappers/php/5.3/bin/php-cgi

Ответить | Правка | Наверх | Cообщить модератору

61. "Критическая уязвимость в PHP, проявляющаяся в CGI-режиме"  +/
Сообщение от anonymous (??), 04-Май-12, 14:09 
Тогда путь до скрипта не получит.
Ответить | Правка | Наверх | Cообщить модератору

63. "Критическая уязвимость в PHP, проявляющаяся в CGI-режиме"  +/
Сообщение от anonymous (??), 04-Май-12, 14:33 
Хотя, впрочем, должен получить через SCRIPT_FILENAME.
Ответить | Правка | Наверх | Cообщить модератору

62. "Критическая уязвимость в PHP, проявляющаяся в CGI-режиме"  +/
Сообщение от anonymous (??), 04-Май-12, 14:14 
Мне другой вопрос гораздо интереснее: разве всё, что после "?" идёт, не должно передоваться в переменной окружения QUERY_STRING? Надо понимать, php-cgi автоматом дописывает QUERY_STRING в конец списка аргументов вызова, поэтому "--" и решает проблему?
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

65. "Критическая уязвимость в PHP, проявляющаяся в CGI-режиме"  +/
Сообщение от Аноним (-), 04-Май-12, 18:16 
php-cgi путь до скрипта получает через переменную окружения. В "$*" всегда находится только QUERY_STRING (кто не верит может проверить). Уязвимость работает именно потому что php-cgi фактически запускается как
php-cgi $QUERY_STRING

Если бы он в самом деле запускался как
php-cgi $SCRIPT $QUERY_STRING
проблемы бы не возникло. Сравните к примеру результаты работы в консоли
php-cgi index.php -s
и
php-cgi -s index.php
В первом случае "-s" не воспринимается как директива.

При этом, сам php спокойно получет значение QUERY_STRING через одноименную переменную окружения, поэтому зачем передавать ему дополнительно "$*" я не понимаю. Нет "$*" - нет проблемы. Или я чего-то не учел?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру