Показать сообщение отдельно

  #7  
Старый 15.11.2009, 01:49
Аватар для ShAnKaR
ShAnKaR
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме:
4646474

Репутация: 1424


Отправить сообщение для ShAnKaR с помощью ICQ
По умолчанию

Цитата:
Сообщение от Root-access  
Что делает этот код? Думаю Вы итак уже всё поняли, но всё же поясню.
Сначала мы объяснили интерпретатору, что в случае ошибки он должен сказать "Произошла ошибка!".
Затем идёт проверка условия: если переменная $QUERY_STRING непустая, то подключаем к странице файл, адресом которого является её значение.
Иначе подключаем файл default.htm.
Переменная $QUERY_STRING содержит GET-параметр переданный скрипту и зашифрованный в urlencode. То есть, к примеру, для запроса http://localhost/testing.shtml?la=la&la<> переменная $QUERY_STRING будет иметь значение la=la&lala%3C%3E.

Сразу видно, что в такой код уязвим: мы можем заинклудить любой файл на сервере (если хватит прав, конечно же), и, возможно, прочитать содержимое какого-нибудь файла.
Например, /etc/passwd: http://localhost/testing.shtml?/etc/passwd.

Параметр virtual оператора include может иметь в качестве значения относительный или абсолютный путь к файлу на сервере, но не может содержать имена протоколов или хостов, то есть инклуд происходит лишь локальный.
ты бы проверил
 
Ответить с цитированием