baltun

Администратор
Сообщения
10.731
Реакции
2.542
Баллы
2.003
PHP является одним из самых популярных языков программирования. Частично из-за его популярности, его уязвимости известны большому количеству людей. От многих этих уязвимостей можно избавиться простых отключением некоторых встроенных функции или безопасным кодом.

Список одних из самых опасных PHP функции:
Код:
apache_child_terminate
apache_setenv
define_syslog_variables
escapeshellarg
escapeshellcmd
eval
exec
shell_exec
fp
fput
ftp_connect
ftp_exec
ftp_get
ftp_login
ftp_nb_fput
ftp_put
ftp_raw
ftp_rawlist
highlight_file
ini_alter
ini_get_all
ini_restore
inject_code
mysql_pconnect
openlog
passthru
php_uname
phpAds_remoteInfo
phpAds_XmlRpc
phpAds_xmlrpcDecode
phpAds_xmlrpcEncode
popen
posix_getpwuid
posix_kill
posix_mkfifo
posix_setpgid
posix_setsid
posix_setuid
posix_setuid
posix_uname
proc_close
proc_get_status
proc_nice
proc_open
proc_terminate
shell_exec
syslog
system
xmlrpc_entity_decode
Чтобы отключить данные функции нужно найти файл:
Код:
nano /etc/php.ini

И найти линию, которая содержит disable_functions. И изменить эту линию так, чтобы она содержала выше приведенные функции:
Код:
disable_functions = "apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode, shell_exec"

После сохранения этих изменении, нужно перезагрузить веб сервер.

Краткое описание некоторых нежелательных функций:
  • exec - вызов внешней программы
  • ini_get - получает значение опции конфигурации
  • ini_get_all - получает все опции конфигурации
  • parse_ini_file - разбирает файл конфигурации
  • passthru - вызов внешней программы и вывод "сырых" результата на дисплей
  • php_uname - возвращает информацию об ОС, на которой php был построен
  • popen - открывает файловый указатель процесса
  • proc_open - выполняет команду и открывает файловый указатель для ввода/вывода
  • shell_exec - выполняет команду в оболочке/shell и возвращает полный вывод в виде строки
  • show_source - вывод исходного текста текущей веб страницы
  • system - вызов внешней программы и вывод результата на дисплей
  • diskfreespace - псевдоним функции disk_free_space
  • disk_free_space - получить размер доступного пространства в каталоге
  • disk_total_space - возвращает общий размер диска
  • eval - вычисляет строку, заданную в code_str, как код PHP (eval ( string code_str))
  • fileperms - получить информацию о правах на файл
  • fopen - открывает файл или URL
  • opendir - возвращает дескриптор каталога для последующего использования с функциями closedir(), readdir() и rewinddir()
  • phpinfo - выводит всю информацию об php, Ос
  • phpversion - выводит версию php
  • posix_getpwuid - возвращает информацию о пользователе по его user id
  • posix_getgrgid - возвращает информацию о группе по её group id
  • posix_uname - получает системное имя, возвращает хэш строк с информацией о системе
 
Последнее редактирование:
Назад
Верх Низ