П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое







Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 91651 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 28134 раз(а).

Учебник HTML.
Просмотров 54641 раз(а).

Руководство по PHP5.
Просмотров 25048 раз(а).

Хостинг через призму DNS.
Просмотров 29332 раз(а).

Подборка текстов стандартных документов.
Просмотров 28094 раз(а).

Учебник PHP - Самоучитель
Просмотров 32363 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 34091 раз(а).

Внешние атаки...
Просмотров 26086 раз(а).

Учебник PHP.
Просмотров 21991 раз(а).

SSI в примерах.
Просмотров 17297 раз(а).






 
 



Косвенное выполнение команд

Для повышения практичности программ, удобно оставить пользователю возможность конфигурировать поведение программного обеспечения, например, используя макросы. Для управления переменными и общими шаблонами, так как это делает оболочка, предназначена мощная функция wordexp(). Вы должны быть осторожными используя ее, так как передача строки типа $(command) позволит выполнить указанную внешнюю команду. Передача строки "$(/bin/sh)" создает Set-UID оболочку. Чтобы избежать этого, wordexp() имеет атрибут WRDE_NOCMD, который запрещает интерпретацию последовательности $( ).

При запуске внешних команд, вам надо быть осторожным и не вызывать утилиты, которые предоставляют механизм выхода в оболочку (как последовательность :!command в vi). Сложно перечислить их все, некоторые приложения очевидны в этом смысле(текстовые редакторы, файл-менеджеры...), другие сложнее определить (что мы видели с /bin/mail) или имеют опасные режимы отладки.

Назад | Содержание | Вперед



 





Copyright © 2005-2011 Project.Net.Ru